De Raincloud Plot

Leestijd: 5 minuten

Voor Transformation Tuesday #9 maakte ik een soort “animated raincloud plot”. Daarbij schreef ik dat ik dit niet helemaal voor elkaar kreeg met de standaard mogelijkheden binnen Power BI. Daarom heb ik eens naar alternatieve mogelijkheden gekeken om dit voor elkaar te krijgen. Met een beetje R en ggplot2 kwam ik al een heel eind. Lees hier hoe je een raincloud plot maakt met R of in Power BI.

Een voorbeeld

Stel je werkt als data analist bij een organisatie met een grote verpakkingsafdeling en je wilt analyseren hoeveel dozen per uur er worden geproduceerd op alle verpakkingslijnen. Je bent benieuwd naar de spreiding van deze “productiviteit” van alle verpakkingsopdrachten die op deze lijnen worden gedraaid. Draait iedere lijn even constant? En zijn er duidelijke verschillen merkbaar over de lijnen heen?

Je kunt de spreiding van de productiviteit per productieopdracht op meerdere manieren grafisch weergeven. Bijvoorbeeld met een histogram, een boxplot of een scatter chart. Je kunt ook kiezen voor een gather plot zoals we al eerder zagen. Een andere goede optie is een Raincloud Plot die meerdere grafiekvormen in één combineert. Deze grafiek kwam ik voor het eerst tegen in dit artikel en triggerde mij om hier eens verder naar te kijken.

Het voorbeeld van de schrijver van het artikel ziet er als volgt uit:

Een raincloud plot combineert drie elementen: een scatter plot, een boxplot en een (halve) violin plot. Een scatter plot geeft alle individuele punten in een dataset weer en geeft een indicatie van de spreiding, maar kan een onvolledig beeld geven van belangrijke grenzen in de spreiding zoals de mediaan of het derde kwartiel. Door een boxplot toe te voegen aan de grafiek geeft het geheel een beter beeld. Maar een boxplot geeft alleen samengevatte statistieken. Door ook een (halve) violin plot toe te voegen aan de grafiek wordt ook de kansdichtheid van de datapunten weergegeven. Door deze drie elementen te combineren krijg je dus een beter beeld van de spreiding in je data.

Power BI

Terug naar het voorbeeld van de verpakkingslijnen. Met Power BI kun je grafieken te plotten met behulp van een stukje R code. Aan de hand van de voorbeeldcode uit het artikel kon ik de raincloud plot namaken op mijn eigen data van de productiviteit per verpakkingslijn. Het resultaat ziet er als volgt uit:

raincloud plot

Hier zien we bijvoorbeeld dat de spreiding van Lijn 02 en Lijn 03 kleiner is dan bij Lijn 01 en Lijn 04. Ook zien we dat de productiviteit van Lijn 03 nooit lager is dan 20 dozen per uur en dat de verdeling nogal scheef is. Wat is hier aan de hand? Is er iets mis met deze verpakkingslijn? Zijn de gegevens onjuist verzameld? Deze inzichten kunnen leiden tot nieuwe vragen en vervolgonderzoek.

Wil je zelf ook aan de slag met raincloud plots? Download hier mijn Power BI app inclusief de dataset en het stukje R code (zip file). Lees hieronder verder hoe je dit werkend krijgt.

How To: R

  • Zorg allereerst dat je R hebt geïnstalleerd om deze visual te laten werken in R of in Power BI Desktop.
  • Installeer vervolgens ook RStudio om via de interface de juiste libraries te downloaden en eventueel om de visual te testen.
  • Open RStudio en installeer de ggplot2 en dplyr libraries via het Menu > Tools > Install packages:
raincloud plot R
  • Open daarna de bijgaande dataset als een dataframe in R via het Menu > File > Import dataset > From Excel… Geef het dataframe de naam dataset:
raincloud plot R
  • Open vervolgens het bijgevoegde R script in RStudio of kopieer en plak dit in het console en voer het script uit. De Raincloud Plot zal nu worden getoond in RStudio:
raincloud plot R

How To: Power BI

Wanneer je R en de betreffende libraries lokaal hebt geïnstalleerd, kun je hetzelfde R script gebruiken om de visual te tonen in Power BI. Laad de dataset in Power BI, kies voor de R visual en plak hier het script:

raincloud plot power bi

Deze R visual wordt ondersteund door de Power BI Service. Je kunt deze dus prima gebruiken in je rapporten. Het is alleen (nog) niet mogelijk om deze publiekelijk te delen via het internet, omdat je een geauthenticeerde Power BI Pro user moet zijn om gebruik te kunnen maken van R visuals.

Toelichting R script

Het R script roept eerst een aantal libraries aan: ggplot2 en dplyr. Vervolgens definieert het een functie voor de halve violin plot. Dit is namelijk geen standaard visual binnen de ggplot2 library. Daarna volgt er een klein stukje script waarin de data wordt geplot. In dit stukje script moet je een paar variabelen aanpassen voordat dit werkt op je eigen dataset. Dat betreft de volgende variabelen:

raincloud plot power bi

Het is ook mogelijk om custom visuals voor Power BI te maken op basis van R code. Hier ga ik de komende tijd mee aan de slag, zodat het nog eenvoudiger wordt om deze grafiek op te nemen in je rapporten en je geen code meer hoeft aan te passen.

Heb je vragen, opmerkingen of feedback op deze Raincloud Plot? Laat een berichtje achter of mail ons via info@datadump.nl


Joost Romijn is BI Consultant bij ProAnalytics. Vanuit deze rol helpt hij organisaties met het vertalen van data naar bruikbare inzichten.

Eén reactie

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *