Zes lessen uit tien verkiezingvisualisaties in acht jaar tijd

Dit jaar draaien de uitslagengraphics die we maakten voor de Tweede Kamerverkiezingen bij onder andere NOS, NU.nl, NRC, 1Limburg, Omroep Brabant en De Stentor.  Op verkiezingswoensdag werden de graphics gezamenlijk 3,5 miljoen keer bekeken. Op donderdag tikten we zelfs de 20 miljoen pageviews aan!  Het eindproduct is dus overal te zien. Deze blogpost geeft je een kijkje in de keuken. Dit is wat er gebeurt aan de achterkant van de tool.

————————-

Het is kwart over tien ’s avonds en LocalFocus-programmeur Erik zit met zijn laptop op schoot tussen de televisietechnici in een schakelwagen. De kar staat pal naast het Haagse stadhuis, dat Omroep West heeft uitgekozen als decor van de gemeenteraadsverkiezingen van 2014. Langzaam maar zeker druppelen via het ANP de eerste verkiezingsuitslagen binnen. Het persbureau heeft en soort ‘doorgeefluik’ van data gemaakt waar bedrijven zoals wij gebruik van kunnen maken.

De cijfers die Erik aan de achterkant van het systeem binnen ziet komen moeten automatisch omgevormd worden in staafjes. Spannend; het is de eerste keer dat we dit doen en de graphics staan zowel op de site van de omroep als op een scherm voor de live televisie-uitzending. Refresh. Uit de onderkant van het scherm beginnen roze en blauwe balkjes te groeien: de percentages per partij stromen binnen. Refresh. Nieuwe uitslagen. Refresh. Nog meer gemeenten. Refresh. De presentator tikt a la Herman-de-Schermman op zijn display, de schakeltechnicus naast Erik schakelt over naar een andere gemeente waarvan de cijfers binnen zijn. Dat het helemaal geen volautomatisch touchscreen is maakt niet uit, het doel is bereikt.


De uitslagentool in 2014

De kans is groot dat je in de afgelopen jaren met onze verkiezingsvisuals in aanraking bent gekomen. Tot nu toe toverden we de uitslagen van twee gemeenteraadsverkiezingen (2014 en 2018), twee Provinciale Statenverkiezingen (2015 en 2019), twee referenda (2016, 2018), de Europese stembusgang en een uitstapje naar België (beiden 2019) om in kaarten, lijnen, staven en bollen. De Tweede Kamerverkiezing van dit jaar is de tweede nationale verkiezing (na 2017), en de tiende stembusgang die we sinds onze oprichting in 2013 coveren.


Overzicht van verkiezingen die we hebben gecoverd

Waar we in 2014 begonnen met slechts een handjevol bar charts in de browser maken we nu tientallen tools voor een reeks landelijke en regionale media. De staafdiagrammen zijn er nog steeds, al zorgen kaarten op gemeenteniveau, een coalitiebouwer en een handige mobile first navigatie voor het complete plaatje in een makkelijk te gebruiken graphic.

Om tot dat eindresultaat te komen hebben we een hoop geprobeerd, getest, bijgeschaafd en wéér bijgeschaafd. Deze zes lessen trekken we uit tien verkiezingen in acht jaar tijd.

1. Zorg (op tijd) voor de datafeed
Een aantal gebeurtenissen kun je nadat de stembussen om 21:00 sluiten al uittekenen: Schiermonnikoog, Vlieland of Rozendaal zijn de Snelste Tellers, daarna begint het Grote Wachten. Op verkiezingsdag (en de dag erna) lopen alle uitslagen binnen via persbureau ANP. Dit is de enige databron op dat moment. De Kiesraad komt pas weken later met de officiële uitslag. Het ANP biedt die data aan via een API, wat ervoor zorgt dat wij razendsnel de nieuwste uitslagen in onze visuals kunnen tonen. Goed testen is daarbij belangrijk: welke cijfers komen binnen en hoe is de boel gestructureerd? Hoe worden partijen aangeduid, en hoe zit dat met partijen die niet meer bestaan? Wat gebeurt er als er per ongeluk 151 zetels worden doorgegeven, terwijl er toch echt maar 150 in de Tweede Kamer zijn (true story)? Om dit in de vingers te krijgen beginnen we maanden van te voren al met het bestuderen van de data en het inladen van testdata in de tool. Als alles goed gaat, hoeven wij op verkiezingsdag namelijk niets te doen. Hooray for automatisation!

2. Zorg dat de tool qua flow laagdrempelig is
LocalFocus maakt uitslagentools die door veel verschillende titels worden gebruikt. Hoewel iedere graphic een eigen lik verf krijgt en een andere focus heeft – waarover later meer – hebben ze één ding gemeen: ze moeten voor een breed publiek te gebruiken en te begrijpen zijn. Daarom gaan we bij het schetsen van de tool uit van een heldere ‘flow’. Ofwel; hoe navigeer je tussen de verschillende soorten cijfers? Hoe bekijk je de uitslagen van een gemeente? Hoe switch je van ‘niveau’, van gemeente naar provincie bijvoorbeeld? Dat klinkt misschien complex. Toch is de uiteindelijke opzet van de tool in slechts een paar vensters te vangen.


Eerste schetsen van de verkiezingstool

3. Geef titels zelf de regie over de look en teksten…
In principe maken we maar één uitslagentool, die bij meerdere media op de site staat. Toch is het belangrijk dat de graphic goed bij een titel past – qua huisstijl en tone of voice bijvoorbeeld – en zo een eigen look and feel krijgt. Daarom is de tool op zo’n veertig verschillende punten aan te passen. Van partijnamen tot kleuren van de knoppen, van tekstjes in de tickerbalk tot de kleur van de icoontjes die een stijging of daling aangeven.


De oranje bolletjes geven punten aan die te customizen zijn

4. …en maak het ze daarbij zo makkelijk mogelijk
Geen gedoe met code, geen uitgebreide interface, maar gewoon een simpele Google Sheet. In die spreadsheet kunnen gebruikers zelf wijzigingen doorgeven, bijvoorbeeld als ze een andere partijkleur willen of alle teksten willen vertalen naar het Frysk. Die sheet is gekoppeld aan de uiteindelijke visual, zodat alle betrokken direct kunnen zien wat er veranderd is. En, voor ons ook wel belangrijk, wij daar niet tussen hoeven te zitten.


De Google sheet waar redacteuren wijzigingen in doorvoeren

5. Regionaliseren? No problemo
Ook bij de Tweede kamerverkiezingen is regionaliseren een belangrijk onderdeel. Lezers van Omroep Brabant zijn waarschijnlijk eerder geïnteresseerd in een kaart met de uitslagen van Brabantse gemeenten dan van heel Nederland. In een artikel over het stemgedrag in Apeldoorn wil je meteen de uitslagen van die gemeente zien. Om dat makkelijk te maken hebben we een ‘wizard’ (een soort selectietooltje) gemaakt waarmee redacteuren zelf zo’n uitsnede kunnen maken en die specifieke weergave door kunnen plaatsen op hun site.


De ‘regiowizard’. Magic!

6. Maak de tool en de data(bron) multifunctioneel
De uitslagendata van het ANP stroomt toch al de online graphics binnen; waarom zouden we ze dan niet op andere manieren gebruiken? Tijdens eerdere verkiezingen hebben we webgraphics ook gebruikt voor tv. Voor deze stembusgang bouwden we een exportfunctie van de data waarop snel analyses op gemeenteniveau te draaien zijn. Over de winnaars en verliezers bijvoorbeeld, of ‘kiezersbolwerken’.

1st of april 2021 | Webinar ‘Finding stories in European data ‘ (en)

What: Online workshop ‘Finding stories in European data’
Where: Zoomcall. We’ll send you the link via e-mail on the day of the workshop
Who: This workshop is open for all levels
When: Thursday the 1st of april 2021, 16:00 – 16:30/4 – 4:30 PM (UTC/GMT +2:00)
Costs: Free
Link to the Zoom-call: https://t.localfocus.nl/?a7ee94b (accessible from 3:45 PM)
Password: data

Let’s go from LocalFocus to GlobalFocus! On thursday the 1st of april data journalist Yordi will zoom out for a bit and look for interesting data on a European level. From corona stats to economic key figures and climate- and CO2-data: what data is available? What are useful sources? And interesting tools?

30 maart 2021 | Webinar ‘Verhalen vinden in Europese cijfers’ (🇳🇱)

Wat: Online workshop ‘Verhalen vinden in Europese cijfers’
Waar: Zoomcall. Je krijgt een link toegestuurd op de dag zelf. Verdwenen in je mailbox? We posten ‘m op 30 maart tijdelijk ook in deze blog.
Voor wie: Iedereen
Tijd: Dinsdag 30 maart 2021, van 16:00 tot 16:30
Kosten: Geen
Link naar de Zoom-call: https://t.localfocus.nl/?65f308d (vanaf 15:45 toegankelijk – Wachtwoord: data)

Laten we even uitzoomen en van LocalFocus naar GlobalFocus gaan! Op dinsdag 30 maart gaat datajournalist Yordi namelijk met je op zoek naar toffe cijfers op Europees niveau (die uiteraard ook over Nederland gaan).Van coronastats en economische groeigegevens tot klimaatdata en CO2-cijfers: wat wordt er zoal geteld? Wat zijn handige bronnen? En nuttige tools?

16 feb. 2021 | Webinar ‘Verschillende kaartsoorten combineren’

Wat: Online workshop ‘Verschillende kaartsoorten combineren’
Waar: Zoomcall. Je krijgt een link toegestuurd op de dag zelf. Verdwenen in je mailbox? We posten ‘m op 16 februari ook tijdelijk in deze blog.
Voor wie: Iedereen met een LocalFocus-account. Heb je dit nog niet? Registreer je hier gratis.
Tijd: Dinsdag 16 februari 2021, van 16:00 tot 16:30
Kosten: Geen
Link webinar (va. 15:45 open):  https://t.localfocus.nl/?0d8bfd2

Meld je aan via dit formulier

Met de kaartenbouwer van LocalFocus combineer je eenvoudig verschillende soorten kaartlagen. Denk aan een kaart met cijfers per gemeente waar je voor de duidelijkheid ook provinciegrenzen op aangeeft. Of een kaart met spoorlijnen in Nederland gecombineerd met de stations op het net. En een vlakkenkaart met cijfers per provincie, waarbij iconen een stijging of daling aangeven. In een half uurtje leert datajournalist Yordi uit hoe je kaartlagen kunt stacken en hoe je zorgt voor een strak design, zodat jouw lezer in één oogopslag ziet waar het over gaat.

13 okt. 2020 | Webinar ‘Leer slimme tabellen maken met onze vernieuwde tool’

Wat:  Tijdens deze korte webinar leggen we uit hoe je in een paar simpele stappen een interactieve tabel maakt met de vernieuwde tabelmodule van LocalFocus.
Waar: Google Meet. De link sturen we je (als je je hebt aangemeld) op de dag van de workshop toe.
Voor wie: Zowel ervaren datavizrotten als grafiekengoeroe’s in spé! Wil je aan de slag maar heb je nog geen LocalFocus-account? Registreer je hier gratis.
Tijd: Dinsdag 13 oktober van 16:00 tot 16:30
Kosten: Geen

Meld je aan via dit formulier

Een tabel is misschien niet de meest sexy datavisualisatie die wij kunnen bedenken. Toch werkt ‘ie in veel gevallen super goed om de juiste informatie over te brengen. Of je nou een mooi online overzicht wil maken van voetbaluitslagen, een doorzoekbare adressenlijst van alle middelbare scholen in jouw provincie, of een strakke en simpele tabel in een jaarverslag wilt zetten.

In de webinar van 13 oktober bespreken we de beste use cases voor tabellen (wanneer is een tabel de beste optie als datavisualisatie?) en doorlopen we alle stappen om zelf een goede tabel te maken. 

Ondertussen praten we je ook bij over de toffe mogelijkheden van de vernieuwde tabelmodule. Onze developers zijn namelijk hard aan het werk, zodat jij binnenkort kan werken met een verbeterde interface en de mogelijkheid om slimme selectievragen toe te voegen. Met die vragen maak je grote tabellen eenvoudig doorzoekbaar. Nieuwsgierig? Schrijf je in via bovenstaande knop!

Vragen over de workshop? Stuur een mailtje naar yordi@localfocus.nl.

 

11 aug. 2020 | Gratis online workshop ‘Locaties op de kaart zetten voor beginners’

Wat: Online workshop ‘Locaties op de kaart zetten voor beginners’
Waar: Google Meet. De link sturen we je (als je je hebt aangemeld) op de dag van de workshop toe.
Voor wie: Iedereen met een LocalFocus-account. Heb je dit nog niet? Registreer je hier gratis.
Tijd: Dinsdag 11 augustus van 16:00 tot 16:30
Kosten: Geen

Meld je aan via dit formulier

Benieuwd hoe je in één keer coronatestlocaties op de kaart zet voor bij een online artikel? Of wil je in plaats van een saaie adreslijst, een mooie visual toevoegen aan je rapport?  Iconen- en bollenkaarten geven op een heldere manier data op een specifieke locatie weer: van een handjevol illustratieve icoontjes (zie afbeelding 1 hieronder) en de waterkwaliteit van alle recreatieplassen in Nederland (2) tot de restaurants met een Michelinster (3) en het aantal boetes per flitspaal (4). Of het nou vijf punten zijn die je handmatig toevoegt, of vijfhonderd uit een dataset.

Wil jij kennismaken met deze functie binnen de kaartmodule in het LocalFocus-platform? Dan is de dertigminutenworkshop op dinsdag 11 augustus echt iets voor jou. Datajournalist Yordi Dam doorloopt namelijk in een half uurtje alle stappen om van een spreadsheet tot een vette visualisatie te komen.

Na afloop kun je met de online tools van LocalFocus zelf iconen- en bollenkaart maken die je eenvoudig toevoegt aan rapporten, studieopdrachten of webpagina’s. Meld je nu aan!

14 jul. 2020 | Gratis online workshop ‘Interactieve grafieken maken voor beginners’

Wat: Online workshop ‘Grafieken maken voor  beginners’
Waar: Google Meet. De link sturen we je (als je je hebt aangemeld) op de dag van de workshop toe.
Voor wie: Iedereen met een LocalFocus-account. Heb je dit nog niet? Registreer je hier gratis.
Tijd: Dinsdag 14 juli van 16:00 tot 16:30
Kosten: Geen

Meld je aan via dit formulier

Van staafdiagrammen tot lijngrafieken en van pie-charts tot scatterplots: met LocalFocus maak je supersnel interactieve graphics voor web én print. Wil jij kennismaken met grafiekfunctie in het LocalFocus-platform? Dan is de dertigminutenworkshop op dinsdag 14 juli echt iets voor jou. Datajournalist Yordi Dam doorloopt namelijk in een half uurtje alle stappen om van een suffe spreadsheet tot een vette visualisatie te komen.

Na afloop kun je met de online tools van LocalFocus zelf grafieken maken die je eenvoudig toevoegt aan rapporten, studieopdrachten of webpagina’s. Meld je nu aan!

 

 

Van rodebollenclusters tot blauwe gemeentevlakken: hoe we onze coronakaarten de afgelopen maand hebben ontwikkeld

Van het absolute aantal besmettingen tot het relatief aantal ziekenhuisopnames: de manier waarop het RIVM regionale coronacijfers publiceert is constant in ontwikkeling. Daarmee zijn onze kaarten dat uiteraard ook. Welke informatie wil de lezer? Welke cijfers zijn voorhanden? En nog belangrijker; wat vertellen ze ons eigenlijk wel (en niet)?

We zijn sinds begin maart – toen het RIVM de eerste regionale data bekend maakte – een aantal keer gewisseld van kaart. Qua vorm, maar ook qua inhoud. Zo publiceren we aanvankelijk een proportionele bollenkaart met het aantal besmettingen per gemeente. De vorm is simpel: hoe meer positieve tests op Covid-19, hoe groter de bol.

 

bollenkaart
De bollenkaart van het begin van de uitbraak, met slechts een handjevol besmettingen

Op dat moment concentreert de uitbraak zich nog vooral in Brabant en Limburg, en de absolute aantallen geven die situatie prima weer. Maar het virus verspreidt zich in rap tempo verder over het land. De rommelige rodebollenclusters maken de kaart niet bepaald overzichtelijker.

Daarom stappen we over op een vlakkenkaart met absolute aantallen. Weliswaar gaan we, tot ongenoegen van een paar geopuristen, tegen alle cartografische principes voor zo’n soort kaart in. Maar deze keuze sluit wél aan bij de informatiebehoefte van dat moment. We willen namelijk inzichtelijk maken waar de besmettingen tot dan toe gesignaleerd zijn en met de betrekkelijk kleine absolute aantallen lukt dat aardig.

polygon-abso
Een choropleetkaart met absolute aantallen. The horror!

Als halverwege maart de besmettingshause begint volstaat de kaart logischerwijs niet meer. Het RIVM publiceert inmiddels het aantal geregistreerde besmettingen per 100 duizend inwoners, en wij stappen voor de de gemeentekaart ook over op relatieve cijfers. Bovendien is het voordeel van interactieve kaarten dat we de absolute cijfers in de tooltip – een infoblokje dat je ziet als je met je muis over een gemeente gaat – alsnog kunnen laten zien. 

Totdat de besmettingscijfers zélf ook achterhaald zijn. Het RIVM schrijft op haar site dat ‘de data over het aantal ziekenhuisopnames per gemeente in deze fase van de epidemie het beste beeld geven, omdat in de ziekenhuizen meer patiënten getest worden op het coronavirus.’ Check.

Screenshot 2020-04-06 at 15.22.13
De kaart die op het moment van schrijven online staat

Zo maken we de vierde kaart in krap vier weken tijd, en ik verwacht dat we de komende nog veel meer gaan updaten, upgraden en tweaken. Dat is logisch, want in tijden waarin het nieuws zich ontzettend snel opvolgt, doen de cijfers en de visuele vertaling daarvan dat ook. 

Een voordeel van onze werkwijze is dat we de achterliggende datasheet kunnen koppelen aan de kaart. Zo kunnen we iedere dag klokslag twee uur – een moment dat veel (data)journalisten tegenwoordig niet meer in hun agenda hoeven te zetten – de nieuwe cijfers bijwerken. Wijzigingen worden vervolgens automatisch doorgevoerd op kaarten die al geplaatst zijn. Zo hebben de tientallen titels die van onze gemeentekaarten gebruik maken altijd de nieuwste cijfers online staan.

 

#30DayMapChallenge

Een gelegenheid om 30 dagen lang gave kaarten te bouwen met mede map geeks laten we natuurlijk niet schieten. Hier vind je al onze bijdragen in het kader van de #30DayMapChallenge.

Day 1: points
Interactive version

Screen Shot 2019-11-04 at 5.26.08 PM

Day 2: lines
adambusy

Day 3: polygons
Clickable version

Screen Shot 2019-11-04 at 5.30.43 PM

Day 4: hexagons
Interactive version

Screen Shot 2019-11-04 at 5.33.59 PM

Day 5: raster
Interactive version

Screen Shot 2019-11-05 at 10.32.24 AM

Day 6: blue
Interactive version

Screen Shot 2019-11-06 at 12.05.28 PM

Day 7: red
Interactive version

redmap

Day 8: Green
Interactive version

Screen Shot 2019-11-11 at 10.14.53 AM

Day 9: Yellow
Interactive version

yellow

Day 10: Black/white
Interactive version

blackwhite

Day 11: Elevation
Interactive version

Screen Shot 2019-11-13 at 11.09.52 AM

Day 12: Movement
Interactive version

EJKj3B5XsAAt7C4

Day 13: Tracks (scenic biking routes in The Netherlands)
EJQ7A6nWwAEjf7g

Day 14: Boundaries (all municipalities since 1812)
ezgif.com-optimize (1)

Day 15: Names
Interactive version 

names

Day 16: Places
Interactive version

sinterkls2

Day 17: Zones
Interactive version

zones

Day 18: Globe
Interactive version

globeosm

Day 19: Urban
Interactive version

EJv0QG4XYAENJ_N

Day 20: Rural
Interactive version map 1
Interactive version map 2

Screen Shot 2019-11-20 at 2.36.45 PM

Screen Shot 2019-11-20 at 2.43.27 PM

Day 21: Environment
Interactive version map 1
Interactive version map 2

treespeople

EJ99C9iW4AA0Y0s

Day 22: Built environment
Interactive versionnaarden

Day 23: Population
Interactive version

popmap

Day 24: Statistics
Large version

poster2017

Day 25: Climate
Interactive version

no2

Day 26: Hydrology
Large version

hydro

Day 27: Resources
Large version

resources

Day 28: Funny
Interactive version

songs

Day 29: Experimental
Play the game

geospel

Day 30: Home
Interactive version

home-map

Nieuw in de kaartmodule: ‘unpivot’-functie

Met de nieuwe kaartmodule voeg je met één druk op de knop een dropdownmenu toe aan je kaart. Daarmee kan de lezer bijvoorbeeld de cijfers over een ander jaar bekijken. Om zo’n uitklapmenu te kunnen maken heeft je tabel alleen wél de juiste structuur nodig.

In veel gevallen ziet je tabel er uit zoals de versie links. Om een uitklapmenu toe voegen aan een kaart heb je echter de rechterstructuur nodig. Hier vind je de gebruikte tabel.

Screen Shot 2019-11-14 at 2.44.18 PM

We hebben een knop ingebouwd die dat automatisch voor jou doet. Deze ‘unpivot’-knop zorgt ervoor dat gegevens die in kolommen naast elkaar staan, onder elkaar worden gezet in rijen. In het platform werkt deze functie zo:

  1. Maak een nieuwe kaartlaag aan, voeg de tabel toe en klik op ‘unpivot’

unpiv

2. Geef aan welke kolommen je onder elkaar wil plaatsen. In dit geval zijn dat de twee jaren, die we in een uitklapmenu gaan zetten. Klik op op ‘doorvoeren’. Je tabel is omgezet.

Screen Shot 2019-11-14 at 2.56.51 PM

3. Geef de kolommen een duidelijke naam. Klik op het tandwiel bij het kolom met waarden en vink ‘Kleur gebieden’ aan.

Screen Shot 2019-11-14 at 3.02.12 PM

4. Ga naar de kolom die je in het dropdownmenu wil zetten. Klik op het tandwiel, vink ‘Dropdown’ aan.

Screen Shot 2019-11-14 at 3.05.56 PM

Vervolgens heb je onderstaande kaart met dropdown menu.