leestijd 3 minuten

Verrassende data-visualisaties met Processing

Tags: programming algoritmes technologie Categories: datascience

De afgelopen tijd ben ik actief met het maken van generatieve kunst via de visualisatietool Processing. Op mijn twitteraccount @ArjanBytez verschijnen regelmatig nieuwe experimenten. Daarnaast is dezelfde tool erg geschikt voor het op weer eens een andere manier visualiseren van daadwerkelijke data. Nu is data visualisation de laatste jaren aan een behoorlijk opmars bezig waarbij software zoals Tableau, Datawrapper en vele anderen, en in Nederland Localfocus, rap populair geworden zijn. Processing is wat laagdrempeliger: je maakt met enkele regels code al een professioneel ogende creatieve uiting.

klik voor grote versie

Zelf zie ik Processing als iets dat tussen de standaard datatools als Excel en de elite zoals Tableau ligt: programmeerervaring is handig, maar heb je wel eens een script geschreven dan kun je het best snel oppakken.

Onlangs keek ik hoe je meteorologische data mooi kunt weergeven: een jaar bestaat uit 365 dagen en een cirkel is opgebouwd uit 360 graden - hmm, als we eens de temperatuur weergeven op die cirkel? Op de KNMI-site staan de daggegevens van het weer zo binnenhalen. Even het gedownloade tekstbestand handmatig aanpassen en je hebt de minimum- en maximumtemperatuur voor 1 of zo je wilt alle officiële weerstations in Nederland als .csv-bestand beschikbaar. Vervolgens laad je dit bestand in Processing in, en plaatst via een geometrische berekening 365 staafjes die in een aantal herkenbare temperatuurcategorieën gekleurd rondom een cirkel en je ziet meteen hoe de temperatuur in Voorschoten dit jaar verloopt:


klik voor grote versie

We zien hier hoe vanaf bovenaan via de rechterkant het temperatuurverloop over het huidige jaar - helaas werkte de KNMI even niet mee dus heb me beholpen met data tot halverwege de zomer. Getoond worden staafjes die de minimum- en maximumtemperatuur van iedere dag tonen, waarbij de kleur wordt bepaald door de maximumwaarde. De kleurstelling is zoals vaak op weerkaarten gebruikt wordt van een blauwtint via groen en geel naar rood. Heel duidelijk zijn de eerste twee hittegolven van afgelopen zomer te zien, als rode uitschieters boven de 30 graden.

OK, volgende stap: hoeveel data zou je kwijt kunnen in 1 zo’n visualisatie voordat het onoverzichtelijk wordt? Zelf ben ik erg gecharmeerd van de meteogrammen van de Zwiterse weersite Kachelmann, de buitencategorie qua weervisualisatie laten we zeggen waarbij zeer veel informatie getoond wordt zonder het overzicht kwijt te raken. Zie de voorspelling voor hetzelfde Voorschoten van 1 dag, en kijk vooral eens rond op die site!


klik voor grote versie

Wat in ieder geval een waardevolle aanvulling vormt is de neerslag. Samen met de temperatuur geeft dat een aardige indicatie over het soort weer. Laten we deze toevoegen. Alleen weergeven vanaf de rand van de cirkel naar buiten toe is verwarrend, aangezien de neerslagstaafjes dan zullen interfereren met de temperatuur. Vandaar leek het me goed een dubbel schaal te gebruiken waarbij de neerslag van bovenaf richting de basiscirkel wordt getoond.

Nu krijgen we onderstaande grafiek die wat mij betreft een mooie balans is: wel degelijk flink wat informatie tonen - tweemaal 365 temperatuurwaarden over een jaar en èènmaal neerslag zijn 1095 datapunten) - zonder dat het een rommeltje wordt. Met wind(richting), luchtdruk of zonneschijnduur erbij wordt het onoverzichtelijk. Daarvoor zul je een kleiner tijdsinterval moeten nemen en een andere manier van plotten.

Dat is iets voor een volgend experiment… voor nu gaan we er uit met een generatieve zonnebloem van eigen kweek

klik voor grote versie