(1e versie, achtergrond komt zo) |
k (friends don't let friends make spelling errors) |
||
(4 tussenliggende versies door een andere gebruiker niet weergegeven) | |||
Regel 3: | Regel 3: | ||
|Eigenaar=Stitch | |Eigenaar=Stitch | ||
|Status=Afgerond | |Status=Afgerond | ||
− | |Skills= | + | |Skills=rrd, jpgraph, php |
− | |Samenvatting=heatmap | + | |Samenvatting=heatmap met tijden dat Hack42 gemiddeld open is. |
}} | }} | ||
+ | De grafiek geeft aan wanneer in het verleden Hack42 open is geweest. Hoe vaker de space open is, hoe donkerder dit terug te zien is in de grafiek. De duidelijkste grafiek is van 3 maanden, waarin (op moment van schrijven) te zien is dat Hack42 gemiddeld altijd open is op dinsdag- en vrijdagavond. Ook andere populaire dagen zijn te zien. | ||
+ | |||
+ | De samenstelling van de grafiek gebeurt door een gemiddelde van metingen per uur. Elke 5 seconden wordt er gemeten, dit wordt gemiddeld naar een uur. Deze uren, voor 3 maanden toch al 2000, worden opgeteld verdeeld over de dag. Een 100% score (donkere vlak) kan alleen als in de afgelopen weken, dat uur, de space steeds open was. | ||
+ | |||
+ | Mocht je spontaan langs willen komen, en je hebt geen sleutel? Dan weet je wanneer we er kunnen zijn. | ||
+ | |||
Zie: https://hack42.nl/spacestate/open/ | Zie: https://hack42.nl/spacestate/open/ | ||
+ | |||
+ | == Parameters == | ||
+ | Je kan de kleur en periode aanpassen via de parameters ''timespan'' en ''colormap''. De volgende zijn aanwezig: | ||
+ | |||
+ | * timespan | ||
+ | ** 1w | ||
+ | ** 2w | ||
+ | ** 3w | ||
+ | ** 1m | ||
+ | ** 2m | ||
+ | ** 3m | ||
+ | ** 4m | ||
+ | * colormap | ||
+ | ** 0 tot 21 | ||
+ | ** Een overzicht: http://jpgraph.net/download/manuals/chunkhtml/ch22s08.html | ||
+ | |||
+ | Default voorbeeld: | ||
+ | https://hack42.nl/spacestate/open/openByWeekDayHours.php?timespan=3m&colormap=16 | ||
+ | [[image:openheatmap_default.png]] | ||
+ | |||
+ | Blauw en 1 week: | ||
+ | https://hack42.nl/spacestate/open/openByWeekDayHours.php?timespan=1w&colormap=15 | ||
+ | [[image:openheatmap_oneweek.png]] | ||
+ | |||
+ | Insane 4m: | ||
+ | https://hack42.nl/spacestate/open/openByWeekDayHours.php?timespan=4m&colormap=2 | ||
+ | [[image:openheatmap_insane.png]] | ||
+ | |||
+ | == Code snippets == | ||
+ | RRD Export | ||
+ | <pre> | ||
+ | rrdtool xport --start $e-$timespan --end $e --step 3600 --maxrows 4242 --enumds \ | ||
+ | DEF:st=../state.rrd:state:AVERAGE \ | ||
+ | CDEF:open=st,1,0,IF \ | ||
+ | XPORT:open:\"isopen\" \ | ||
+ | </pre> | ||
+ | |||
+ | Separating hours | ||
+ | <pre> | ||
+ | foreach($measurements["data"]["row"] as $row) { | ||
+ | switch ($row["t"] % 86400) { | ||
+ | case 82800: $hourOpen[0] += $row["v0"]; break; | ||
+ | case 0: $hourOpen[1] += $row["v0"]; break; | ||
+ | </pre> | ||
+ | |||
+ | Shifting hours (remove at begin, place at end) | ||
+ | <pre> | ||
+ | for($i=0;$i<$steps;$i++){ | ||
+ | $element = array_shift($array); | ||
+ | $array[] = $element; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Working with colormap input | ||
+ | <pre> | ||
+ | $mp->colormap->SetMap($colormap); | ||
+ | unset($colormap); | ||
+ | $mp->SetCenterPos(0.5,0.47); | ||
+ | $mp->SetSize(0.75, 0.7); | ||
+ | </pre> | ||
+ | |||
+ | == Details == | ||
+ | Het is niet perfect, er zitten soms wat gekke waardes in of de schaal klopt niet. Dit komt omdat er allerlei gemiddelden worden gebruikt, en soms iets meer of minder dagen worden opgevraagd. Bij benadering is de grafiek goed, give or take 20%. | ||
+ | |||
+ | == Handleidingen == | ||
+ | * JPGraph: http://jpgraph.net/download/manuals/chunkhtml/ch22s08.html | ||
+ | * RRDTool: http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html | ||
+ | * PHP: http://php.net/in_array | ||
+ | |||
+ | __NOTOC__ |
Huidige versie van 17 mrt 2012 om 18:10
Project: Open Heatmap | |
---|---|
Naam | Open Heatmap |
Door | Stitch |
Status | Afgerond |
Madskillz | rrd, jpgraph, php |
Doel / Omschrijving | |
heatmap met tijden dat Hack42 gemiddeld open is. | |
Alle Projecten - Project Toevoegen |
De grafiek geeft aan wanneer in het verleden Hack42 open is geweest. Hoe vaker de space open is, hoe donkerder dit terug te zien is in de grafiek. De duidelijkste grafiek is van 3 maanden, waarin (op moment van schrijven) te zien is dat Hack42 gemiddeld altijd open is op dinsdag- en vrijdagavond. Ook andere populaire dagen zijn te zien.
De samenstelling van de grafiek gebeurt door een gemiddelde van metingen per uur. Elke 5 seconden wordt er gemeten, dit wordt gemiddeld naar een uur. Deze uren, voor 3 maanden toch al 2000, worden opgeteld verdeeld over de dag. Een 100% score (donkere vlak) kan alleen als in de afgelopen weken, dat uur, de space steeds open was.
Mocht je spontaan langs willen komen, en je hebt geen sleutel? Dan weet je wanneer we er kunnen zijn.
Zie: https://hack42.nl/spacestate/open/
Parameters
Je kan de kleur en periode aanpassen via de parameters timespan en colormap. De volgende zijn aanwezig:
- timespan
- 1w
- 2w
- 3w
- 1m
- 2m
- 3m
- 4m
- colormap
- 0 tot 21
- Een overzicht: http://jpgraph.net/download/manuals/chunkhtml/ch22s08.html
Default voorbeeld:
https://hack42.nl/spacestate/open/openByWeekDayHours.php?timespan=3m&colormap=16
Blauw en 1 week:
https://hack42.nl/spacestate/open/openByWeekDayHours.php?timespan=1w&colormap=15
Insane 4m:
https://hack42.nl/spacestate/open/openByWeekDayHours.php?timespan=4m&colormap=2
Code snippets
RRD Export
rrdtool xport --start $e-$timespan --end $e --step 3600 --maxrows 4242 --enumds \ DEF:st=../state.rrd:state:AVERAGE \ CDEF:open=st,1,0,IF \ XPORT:open:\"isopen\" \
Separating hours
foreach($measurements["data"]["row"] as $row) { switch ($row["t"] % 86400) { case 82800: $hourOpen[0] += $row["v0"]; break; case 0: $hourOpen[1] += $row["v0"]; break;
Shifting hours (remove at begin, place at end)
for($i=0;$i<$steps;$i++){ $element = array_shift($array); $array[] = $element; }
Working with colormap input
$mp->colormap->SetMap($colormap); unset($colormap); $mp->SetCenterPos(0.5,0.47); $mp->SetSize(0.75, 0.7);
Details
Het is niet perfect, er zitten soms wat gekke waardes in of de schaal klopt niet. Dit komt omdat er allerlei gemiddelden worden gebruikt, en soms iets meer of minder dagen worden opgevraagd. Bij benadering is de grafiek goed, give or take 20%.
Handleidingen
- JPGraph: http://jpgraph.net/download/manuals/chunkhtml/ch22s08.html
- RRDTool: http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html
- PHP: http://php.net/in_array