02 juli 2018

Voorbeeldcase LocalFocus 'Vraag en Antwoord': bierbrouwerijen

Momenteel werken we hard aan de LocalFocus 'Vraag en Antwoord'. Met deze nieuwe feature kun je twee dingen doen. Allereerst kun je makkelijk lijsten doorzoeken en filteren. Dit is handig als er bijvoorbeeld verkiezingen zijn en je wil snel alle vrouwen op de kieslijsten bekijken. Met de tweede functie stel je een aantal 'vragen' aan de lezer, die vervolgens op basis van een dataset 'antwoord' krijgt op zijn vraag. Hier onder vind je een voorbeeld van de laatste optie: waar kun je in jouw regio een (speciaal)biertje scoren bij een brouwerij? Doorloop de stappen om daar achter te komen! Bekijk hier hoe Yordi de onderstaande tool maakte.




Dit is een beta-versie. De LocalFocus 'Vraag en Antwoord' is momenteel nog in ontwikkeling. Heb je op basis van deze versie opmerkingen of tips? Stuur dan een mailtje naar erik@localfocus.nl

22 maart 2018

De LocalFocus #GR2018 recap in zes getallen



Waarschijnlijk begon voor veel mensen de verkiezingen gisteren pas echt te leven maar op het LocalFocus HQ zat de kieskoorts er al een aantal maanden flink in. Voor de tweede keer in vier jaar coverden we namelijk de verkiezingen, waarbij de gemeenteraadsverkiezingen voor ons als 'liefhebbers van lokaal' (onze naam zegt het al, uiteraard) natuurlijk een tof project was om eens goed uit mee uit te pakken. It was a hell of a ride, maar wel een hele leuke, die we aan de hand van zes getallen met jullie willen delen.

2 keer kiezen 🗳2️⃣

Dit jaar werd niet alleen in 335 gemeenten een nieuwe raad gekozen, maar mocht in alle gemeenten ook gestemd worden voor het raadgevend referendum. Twee keer kiezen, twee tools dus. Gelukkig hoefden we het wiel niet twee keer uit te vinden. Veel elementen uit de uitslagentool konden we namelijk gebruiken voor de referendumtool. Easyshmeasy!

De uitslagen van de gemeenteraadsverkiezingen


De uitslag van het referendum per gemeente



5 teamleden (en een kat) 👨🏻👨🏻👨🏻👩🏻👩🏻(😽)

Je hebt geen gigantisch team nodig om veel voor elkaar te kunnen krijgen: met een team van in totaal vijf mensen werkten we de afgelopen maanden hard de voor-, achter- en zakelijke kant van de tool, met als hoogtepunt de uitslagenavond. Heb je daarvoor een hippe newsroom nodig? Nee hoor; dat kan allemaal prima aan de keukentafel!


Priscilla, Yordi, Jelle en Linda tijdens de uitslagenavond. Developer Erik zorgde vanuit zijn eigen huis dat alles technisch op rolletjes liep



(Ongeveer) 5 maanden 🗓

Eind oktober, maanden voor de verkiezingen dus, begonnen we met de eerste voorbereidingen. Lees: grafiekkrabbels met pen en papier, interfaceprobeersels en een voorzichtige verkenning van titels die dit mogelijk net zo tof zouden vinden als wij. Het idee was dit keer om de uitslagentool, zowel voor de gemeenteraad als het referendum, mobile first, te desingen. Meer een app dan zo'n typische 'dashboard look and feel' die je op desktop vaak ziet dus. Na flink wat uren schetsen, schaven, stijlen, schaven, schaven en schaven, startte developer Erik begin februari met het bouwen van de tool.



28 titels 📰🖥📱

Dit jaar verzorgden we de online uitslagenvisualisaties voor 28 verschillende titels. Van landelijke media als NU.nl, de Volkskrant en de NOS tot regionale titels als Omroep West, PZC en Omroep Fryslan. Alle uitslagen, van zowel de gemeenteraadsverkiezingen als het referendum, vulden automatisch de tool op het moment dat ze bij het ANP binnenkwamen. Daarvoor koppelden we de datafeed van het persbureau aan onze tool, zodat de meeste recente uitslagen altijd instant op de kaart en in de grafieken staan. Dat ging op Schiermonnikoog lekker rap; het Waddeneiland kwam na 13 minuten en 59 seconden al met de definitieve uitslag (in onder andere Almere, Amsterdam, Diemen en Venray zijn ze op het moment van schrijven, donderdagmiddag, trouwens nog bezig).

Een overzicht van alle titels waarvoor we de verkiezingsvisualisaties hebben gemaakt


5 (televisie-)uitzendingen 📺

Een nieuwe uitdaging: televisiegraphics. Dit jaar maakten we voor het eerst ook verkiezingsuitslagen tijdens de live-uitzending van vier omroepen (Omroep West, Zeeland, Brabant en Fryslan) en NU.nl. We maakten op basis van de online-uitslagentool een televisievariant: dezelfde data en 'achterkant', maar dan met een lik verf die past bij de televisievormgeving met een simpele interface die de studiotechnicus zelf kon bedienen.

De visualisaties tijdens de live-uitzending van Omroep Brabant


Frisse visualisaties tijdens de show van Omroep Zeeland

50 duizend pageviews (per minuut) 📈


Tijdens de uitslagenavond en nacht tikten alle graphics bij elkaar zo'n 50 duizend pageviews per minuut aan. Zijn we blij mee!

Wil je de visualisaties in actie zien? Hieronder check je enkele titels:

1Limburg | Gemeenteraad
Algemeen Dagblad | Gemeenteraad
Brabants Dagblad | Gemeenteraad
De Limburger | Gemeenteraad | Referendum
Hart van Nederland | Gemeenteraad
HMC (Noord-Hollands Dagblad) | Gemeenteraad
NOS | Gemeenteraad
NRC | Gemeenteraad | Referendum
NU.nl | Gemeenteraad
Omroep Flevoland | Gemeenteraad
Omroep West | Gemeenteraad
Het Parool | Gemeenteraad | Referendum
Telegraaf | Gemeenteraad

18 januari 2018

DIY: KNMI-data realtime op kaartjes

Wat een storm vandaag! Mooi moment voor Yordi, Priscilla en Linda om KNMI-weerstations te koppelen aan een Nieuwskaart in LocalFocus. Dit is het resultaat. En dit is hoe zij dat deden:


Stap 1. Bekijk de data


Het KNMI houdt een tabel bij met gegevens van weerstations. Deze tabel wordt elke 10 minuten bijgewerkt. De data valt onder een open licentie. Dat is mooi! 👌

Stap 2. Importeer tabel in Google Spreadsheets


Ooit wel eens gespeeld met de functie IMPORTHTML in Google Spreadsheets? Dit is een mooi moment! Plak onderstaande formule in de eerste cel (dat is A1): 

=IMPORTHTML("http://www.knmi.nl/nederland-nu/weer/waarnemingen"; "table"; 1)

Voila. De tabel is geladen en wordt ook up-to-date gehouden door Google Spreadscheets. Top! 👌

Stap 3. Coordinaten vinden


Even wat handwerk. Elk meetstation staat ergens in Nederland. Maar waar? En graag als geografisch coördinaat (latitude en longitude). Het KNMI houdt een overzicht bij en Yordi, Priscilla en Linda namen 15 minuten om de coördinaten naast de geïmporteerde meetstations te plakken in twee extra kolommen. Zolang het KNMI de volgorde van de meetstations in de tabel niet verandert werkt dit prima.

De Google Spreadsheet ziet er nu zo uit:


Stap 4. Koppelen aan Nieuwskaart


Publiceer jouw Spreadsheet nu op internet. Druk op Bestand > Publiceer op internet en bevestig. Maak een nieuwe Nieuwskaart in LocalFocus. Klik onder Meerdere punten ophalen uit spreadsheet op de Cirkels vanuit spreadsheet. Een nieuw venster opent. Hoe wil je de dataset invoeren? Vanuit Google Spreadsheet. Plak de link naar de Spreadsheet in het vakje. Klik op onder Wind (m/s) op Afmeting cirkels.

De tabel met meetpunten van het KNMI is nu gekoppeld aan jouw kaart. Je kan nog veel meer instellen, zoals kleuren, tooltips, popups, etc. maar dat is aan jou. Lees er hier meer over.

Meer info? Contact jelle@localfocus.nl

02 januari 2018

Nieuw in LocalFocus: staaf- en lijngrafieken met dubbele Y-as

We gaan het nieuwe jaar fris in met een nieuwe frisse visualisatievorm! Vanaf nu kun je eenvoudig een lijngrafiek met twee verticale assen maken of een lijn- en staafgrafiek combineren. Deze vorm gebruik je als je twee variabelen met verschillende eenheden (een eenheid is het 'soort' cijfer, bijvoorbeeld een percentage, aantal of bedrag) wilt vergelijken of om een verband aan te tonen. Denk aan de jaar-op-jaar prijsstijging van chocola, snoep of ijs en de ontwikkeling ten opzichte van het beginpunt januari 2015 (1) of het aantal melkveebedrijven ten opzichte van het gemiddeld aantal gehouden melkkoeien (2).



Hoe maak je een grafiek met dubbele Y-as?

Voor het maken van een grafiek met een dubbele Y-as heb je een tabel met twee variabelen nodig. Een voorbeeld: we willen uitzoeken hoe het zit met de schaalvergroting van landbouwbedrijven. In onderstaande tabel vind je het aantal bedrijven dat melkvee houdt en het gemiddeld aantal gehouden melkkoeien per landbouwbedrijf


Deze tabel voeg je toe aan het LocalFocus-platform zoals je gewend bent (ben je nieuw met LocalFocus of heb je een opfrisser nodig? Volg dan deze tutorial), waarbij je aangeeft dat het aantal bedrijven en het gemiddeld aantal melkkoeien de eenheden zijn. Vervolgens zet je beide eenheden aan en selecteer je een lijngrafiek.



Omdat je normaal gesproken twee eenheden niet direct met elkaar kunt vergelijken, het zijn immers verschillende 'soorten' cijfers, geeft het platform je een automatische waarschuwing ('Waarschijnlijk kun je de eenheden in deze visualisatie niet met elkaar vergelijken'). Als je van plan bent om een grafiek met dubbele Y-as te maken kun je deze waarschuwing echter negeren.

Ga vervolgens naar het tabje 'Creëren' en klik in de grafiek op het legendablokje van de variabel die in de tweede Y-as moet komen te staan, in dit geval het gemiddeld aantal gehouden melkkoeien per landbouwbedrijf. Vink 'Plaatsen in rechter as aan' en voilà: een grafiek met dubbele Y-as!



Het platform maakt automatisch een inschatting van de benodigde schaalverdeling voor je grafiek. Mocht je deze alsnog aan willen passen, klik dan wederom in de grafiek op een van cijfers op de verticale as die je aan wilt passen. Vervolgens kun je zelf een minimale en maximale waarde aangeven.



Tot slot is het nog mogelijk om een staaf- en lijngrafiek te combineren. Om dit te doen selecteer je binnen het tabje "Verkennen" de kolomgrafiek (Deze: 📊), selecteer je de variabel die als lijngrafiek weergegeven moet worden (in dit geval gemiddeld aantal gehouden melkkoeien per landbouwbedrijf) en vink je 'Teken als lijn' aan.



Hoewel een grafiek met dubbele Y-as in sommige gevallen heel doeltreffend kan zijn, is het voor sommige lezers een complexe en lastig af te lezen grafiekvorm. Vraag jezelf dus goed af of deze vorm geschikt is voor je data. Bij twijfel, kies voor een Storyboard of een grafiek met een interactieve dropdown. Heb je vragen over deze visualisatievorm? Stuur dan een mailtje naar yordi@localfocus.nl

28 november 2017

Nieuw in LocalFocus: de scatterplot


Een scatterplot is een enorm veelzijdige manier om data te visualiseren - hoewel het misschien niet de meeste bekende visualisatie is. Met de scatterplot, of puntenwolk, kun je namelijk de relatie tussen twee variabelen tonen: iets waar veel andere visualisatievormen een stuk meer moeite mee hebben. Een van de bekendere voorbeelden van de scatterplot zit in deze lezing van wijlen Hans Rosling, waarin hij de levensverwachting afzet tegen de welvaart.


Het is nu ook mogelijk om scatterplots met LocalFocus te maken. Het voorbeeld in bovenstaande video kan bijvoorbeeld ook gemakkelijk worden gemaakt in het dataplatform.



Voor het maken van een scatterplot heb je een tabel nodig met ten minste twee variabelen voor op de assen. In bovenstaand voorbeeld zijn dat de levensverwachting en het BBP per hoofd van de bevolking. De punten worden bepaald door andere dimensie, bijvoorbeeld de landen van de wereld. Mogelijkheden die je in ons platform bij andere visualisaties hebt, werken ook voor de scatterplot:


  • Er kunnen interactieve elementen aan de visualisatie worden toegevoegd. Een timeslider maakt het bijvoorbeeld mogelijk om de patronen door de tijd heen te bekijken.
  • Er kan extra nadruk worden gegeven aan belangrijke punten met behulp kleur en directe labels.


Tot slot is het ook mogelijk om een zogeheten connected scatterplot te maken. Hierbij werden we geïnspireerd door dit voorbeeld uit het boek The Functional Art van Alberto Cairo. De richting van de lijn laat zien hoe Brazilië zich tussen 1981 en 2010 heeft ontwikkeld. Wanneer de lijn zich bijvoorbeeld naar rechtsboven beweegt, laat dit zien dat de welvaart toeneemt, maar wel steeds ongelijker verdeeld is.


Lees meer over connected scatterplots in deze blog van Alberto Cairo of ga er zelf mee aan de slag in ons dataplatform om een productie zoals deze te maken:



Vragen of opmerkingen over de scatterplot? Mail naar jelle@localfocus.nl!

16 november 2017

Hoe een robot ons meer tijd geeft voor journalistiek

Begin 2017 hadden wij overleg. We waren veel tijd kwijt met simpel terugkerend werk. Voorbeeld: mijn collega Yordi houdt o.a. de maandelijkse werkloosheidcijfers bij. Dus opletten of er nieuwe cijfers zijn, dan naar de site van de databron, selecties maken, data downloaden, bewerken, uploaden in LocalFocus, stukje tikken, notificatie-mailt sturen. Elke maand dezelfde handelingen. En dat is zonde. Want het gaat ten koste van echt journalistiek werk.

LocalFocus Connect verstuurt een tweetje met grafiek
Daarom zijn we een project gestart: LocalFocus Connect. Dit is een robot die honderden datasets van open data-bronnen zoals CBS en Kadaster bijhoudt. Wanneer een dataset wordt bijgewerkt voert de robot taken uit. Bijvoorbeeld het uitrekenen van relatieve cijfers, een tweet met grafiek sturen via @lfbetabot of de dataset in LocalFocus plaatsen. Lijkt een beetje op If This Then That, maar dan voor open data.


Voordelen van een data-robot:
  • Automatiseer simpele taken tot de max! Verspil geen tijd met terugkerende werk. Als jij elke dag/week/maand een stukje en grafiekje maakt over een bepaald onderwerp, dan kan je dit voor een deel automatiseren.
  • Robots slapen niet. Als een dataset wordt bijwerkt, weet jij het als eerste.
  • Je kan honderden (misschien duizenden?) datasets tegelijk in de gaten houden.


Hoe redacteuren ermee werken

LocalFocus Connect is een Python-programma met een command-line-interface. Iedereen bij LocalFocus kan ermee werken. Dit is wat redacteuren doen:
  1. Start LocalFocus Connect en kies welke databron en dataset je wilt bijhouden
  2. Vertel welke selecties je wilt bijhouden binnen de deze dataset
  3. Vertel wat er moet gebeuren wanneer de datasets is bijgewerkt
  4. Simuleer de taak zodat je weet dat alles goed werkt
En voila, LocalFocus Connect zal deze taak 24 uur per dag bijhouden en de opdrachten uitvoeren wanneer dat nodig is. Op bot.localfocus.nl zie je welke taken LocalFocus-redacteuren nu hebben draaien.

Modules

LocalFocus Connect bestaat uit een kern en daaromheen verschillende modules. Voor de invoer van data zijn er op dit moment de modules CBS, Eurostat, Kadaster. Voor de uitvoer zijn er LocalFocus, Twitter en Slack. Alle invoer bestaat op dit moment uit open data.

We zullen de komende tijd meer modules schrijven voor andere bekende open data-bronnen. We gaan ook onderzoeken hoe we een module kunnen opzetten die geautomatiseerd een tekst schrijft aan de hand van de nieuwe dataset. 

Wil je hierover praten? Toffe ideeën? Neem dan contact met ons op via jelle@localfocus.nl


09 oktober 2017

Gratis basiscursus ‘Denken in data’ op donderdag 9 november

Wil jij aan de slag met data en visualisatie, maar weet je niet waar je moet beginnen? Dan is de gratis basiscursus “Denk in data” iets voor jou! Tijdens de workshop gaan we ontdekken wat data is (variërend van turven van het aantal kopjes koffie dat je drinkt tot bepalen welke parkeerplaatsen het vaakst beschikbaar zijn), hoe je de juiste vragen aan cijfers kunt stellen en hoe je data laat spreken door middel van grafieken en kaarten. Vergeet big data, complexe analysemethoden of technische hoogstandjes, want werken met data en verhalen vertellen met cijfers is namelijk heel simpel en alledaags. Aan het eind van deze sessie heb je dan ook de basis gelegd om de data-eindbaas van jouw organisatie te worden!

Deze basiscursus is geschikt voor mensen die geen of weinig ervaring hebben met data-analyse en visualisatie, maar wel willen leren wat je allemaal met data kunt doen.



Praktische informatie
De gratis avondcursus vindt plaats op donderdag 9 november van 19:00 tot 21:00 op ons kantoor in Amsterdam.

Wil je deelnemen aan deze cursus? Stuur dan een mailtje naar jelle@localfocus.nl


Adres:
VondelCS
Vondelpark 3
10711 AA, Amsterdam

Benodigdheden: een eigen laptop
Contactadres bij vragen:
Jelle Kamsma
jelle@localfocus.nl
0614429470

VondelCS is het best te bereiken met het openbaar vervoer. Vanaf Amsterdam Centraal ben je met tram 1 (richting Osdorp de Aker, uitstappen bij halte Eerste Constantijn Huygensstraat) binnen twintig minuutjes bij op locatie.

Looproute vanaf tramhalte Eerste Constantijn Huygensstraat