Data Visualisatie met Python: een Complete Gids
In de wereld van data-analyse is visualisatie een cruciaal element om inzichten begrijpelijk en toegankelijk te maken. Python, met zijn rijke ecosysteem van bibliotheken, staat bekend als een krachtige tool voor data visualisatie. Dit artikel biedt een introductie tot de meest populaire bibliotheken en geeft praktische voorbeelden om je op weg te helpen.
Waarom Python voor Data Visualisatie?
Python is erg aantrekkelijk voor het visualiseren van data. Dit geldt voor zowel simpele low code visualisaties als complexe visualisaties afkomstig uit meerdere grote bronnen. Bibliotheken zoals Matplotlib, Seaborn, en Plotly maken het mogelijk om complexe gegevenssets op een visueel aantrekkelijke manier te presenteren. In verhouding tot de meeste andere manieren heb je hier slechts een hele simpele set-up en weinig code nodig.
Voorbeeld 1: Basisplot met Matplotlib
Matplotlib is een van de meest populaire data visualisatie libraries in Python en wordt vaak beschouwd als de grootvader van Python visualisatie tools. Het biedt een enorm scala aan grafiektypen en stijlopties, waardoor het zeer aanpasbaar is voor bijna elke visualisatiebehoefte. Matplotlib is vooral sterk in het maken van standaard grafieken zoals lijn-, staaf-, en cirkeldiagrammen en biedt gedetailleerde controle over bijna alle aspecten van hoe grafieken worden weergegeven. Hier is een eenvoudig voorbeeld om een lijngrafiek te maken. Meer weten over Matplotlib? Bekijk dan deze pagina.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5] # X-coördinaten van de datapunten
y = [2, 3, 5, 7, 11] # Y-coördinaten van de datapunten
plt.plot(x, y) # Creëer een lijngrafiek met x en y punten
plt.title("Eenvoudige Lijngrafiek") # Voeg een titel toe aan de grafiek
plt.xlabel("X-as") # Label voor de X-as
plt.ylabel("Y-as") # Label voor de Y-as
plt.show() # Toon de grafiek
Voorbeeld 2: Geavanceerde Data Visualisaties met Seaborn
Seaborn bouwt voort op Matplotlib en maakt complexe visualisaties eenvoudiger te implementeren met meer aantrekkelijke standaard stijlen. Het is bijzonder goed in het maken van statistische plots en is ontworpen om goed te integreren met de Pandas library, waardoor het werken met dataframes eenvoudiger wordt. Seaborn is ideaal voor het verkennen en begrijpen van data en het biedt eenvoudige functies voor het maken van geavanceerde visualisaties zoals violin plots, kde plots, en pair plots die relaties tussen meerdere variabelen tonen. Hier is hoe je een violin plot maakt, wat handig is voor het tonen van de verdeling van de gegevens:
import seaborn as sns
data = sns.load_dataset("tips") # Laad een voorbeeld dataset genaamd
'tips'sns.violinplot(x="day", y="total_bill", data=data) # Maak een violin plot
plt.title("Verdeling van Totale Rekeningen per Dag") # Titel van de grafiek
plt.show() # Toon de grafiek
Dit script gebruikt Seaborn om een violin plot te maken. Een violin plot is bij uitstek geschikt voor het aantonen van een verdeling. De data
variabele bevat een dataset van fooien (’tips’), en de violinplot
functie creëert een plot die de verdeling van totale rekeningen per dag laat zien.
Voorbeeld 3: Interactieve Grafieken met Plotly
Plotly is een krachtige tool voor het maken van interactieve grafieken en dashboards. Het ondersteunt veel verschillende grafiektypen, inclusief enkele die niet gemakkelijk te realiseren zijn met Matplotlib of Seaborn. Denk hierbij aan 3D-diagrammen en geospatiale kaarten. Een van de grootste voordelen van Plotly is dat het gebruikers in staat stelt om dynamische visualisaties te creëren die interactief zijn op webpagina’s. Je hebt hiervoor geen extra plugins of technologieën nodig zijn. Plotly werkt goed in notebooks maar kan ook geëxporteerd worden als standalone HTML bestanden. Om deze reden is het een uitstekende keuze voor web-based rapportages en presentaties.
import plotly.express as px # Laad de 'tips' dataset
df = px.data.tips()# Groepeer de data per dag en bereken het gemiddelde van de fooien
avg_tips = df.groupby('day')['tip'].mean().reset_index() # Maak een bar chart
fig = px.bar(avg_tips, x='day', y='tip', title='Gemiddelde Fooien per Dag van de Week', labels={'tip': 'Gemiddelde Fooi', 'day': 'Dag van de Week'})# Voeg meer details toe aan de grafiek
fig.update_layout(barmode='group', xaxis={'categoryorder':'total descending'})# Toon de interactieve grafiek
fig.show()
Uitleg van het data visualisatie-script:
- Data Laden: We laden de ’tips’ dataset uit Plotly, die informatie bevat over fooien die in een restaurant zijn gegeven.
- Data Aggregeren: Vervolgens groeperen we de data per dag en berekenen we het gemiddelde van de fooien. Dit wordt gedaan met de
groupby
functie en daarna berekenen we het gemiddelde metmean()
. - Bar Chart Maken: We gebruiken
px.bar
om een bar chart te maken. De x-as toont de dagen van de week, en de y-as toont de gemiddelde fooi per dag. - Grafiek Aanpassen: Met
update_layout
passen we enkele eigenschappen van de grafiek aan, zoals de volgorde van de x-as, om de dagen met de hoogste gemiddelde fooien eerst te tonen. - Interactiviteit: De
fig.show()
functie zorgt ervoor dat de grafiek interactief is, waardoor gebruikers kunnen inzoomen, uitzoomen en details bekijken over elke balk.
Deze grafiek geeft een duidelijk en interactief beeld van de fooi gewoontes door de week heen.
Python biedt een scala aan mogelijkheden voor data visualisatie. Of je nu eenvoudige grafieken of complexe interactieve visualisaties wilt maken, er is altijd een bibliotheek die bij je behoeften past. Begin met deze voorbeelden en experimenteer om je data tot leven te brengen. Wil je meer weten over bijvoorbeeld Matplotlib? Dan vind je hier een tutorial.