Ga naar hoofdinhoud

Python-cirkeldiagram: bouwen en stijlen met Pandas en Matplotlib

Leer hoe je cirkeldiagrammen bouwt en verbetert met de libraries Matplotlib en Pandas in Python. Ontdek praktische codevoorbeelden en essentiële ontwerptips voor heldere, leesbare visuals.
Bijgewerkt 2 okt 2026  · 7 min lezen

Verken met AI

ChatGPTClaudePerplexity

Cirkeldiagrammen zijn een van de populairste grafieken om verhoudingen te visualiseren. Je kent ze vast al, maar zo niet: stel je een grote taart of een ronde Zwitserse kaas voor, in stukken gesneden van verschillende groottes. 

Python biedt meerdere manieren om cirkeldiagrammen te maken. In deze tutorial focussen we op het maken van cirkeldiagrammen in Python met Matplotlib en Pandas, twee van de populairste pakketten voor data-analyse in Python. We structureren het artikel per methode, zodat je je kunt richten op de aanpak en syntaxis die het beste bij je workflow past. 

Naast deze methoden geven we ook enkele tips om de foutopsporing, toegankelijkheid en bruikbaarheid van cirkeldiagrammen te verbeteren. Tot slot bekijken we ook andere grafiekalternatieven die in bepaalde situaties geschikter kunnen zijn dan cirkeldiagrammen.

Manieren om cirkeldiagrammen te maken in Python 

Ik laat je twee verschillende manieren zien om een Python-cirkeldiagram te maken, en je kunt zelf beslissen welke methode je verkiest. Beide zijn populair en goede opties, dus je kunt niet echt misgaan. 

Methode 1: Cirkeldiagrammen met Matplotlib

Laten we beginnen met het analyseren van hoe je een cirkeldiagram maakt met Matplotlib. 

Voor deze sectie analyseren we gegevens over de verschillende cursussen in de DataCamp-catalogus, die je hier kunt vinden. (Ik heb de catalogus doorgenomen en geteld hoeveel cursussen er per technologie beschikbaar zijn en hiervan een tabel gemaakt.)

Hoe je de grafiek maakt

Om ons eerste cirkeldiagram met Matplotlib te maken, kunnen we de functie plt.pie() gebruiken. We gebruiken een lijst met het aantal beschikbare cursussen voor verschillende data- en AI-technologieën (elk vertegenwoordigt de grootte van een segment), en een tweede lijst met de namen van de technologieën, die we opnemen in de grafiek met de labels parameter. Als alternatief kun je plt.legend() gebruiken om een aparte legenda toe te voegen.

Vergeet zoals gewoonlijk niet om aan het einde van je code plt.show() uit te voeren om de Matplotlib-plot correct weer te geven.

import pandas as pd
import matplotlib.pyplot as plt

courses = [164, 127, 31, 31,12, 11]
labels = ['Python','R','SQL','Power BI','Excel','ChatGPT']
dictionary = {'courses':courses, 'labels':labels}
python_pie_chart_df = pd.DataFrame(dictionary)

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels)
plt.show()

basis-Python-cirkeldiagram met een legenda

plt.pie(x = python_pie_chart_df.courses)
plt.legend(labels = python_pie_chart_df.labels, loc = [0.95,0.35])
plt.show()

basis-Python-cirkeldiagram

Daarnaast kunnen we ook het percentage van elk segment opnemen met de parameter autopct. In het volgende voorbeeld tonen we de grootte van de segmenten met één decimaal.

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, autopct='%1.1f%%') 
plt.show()

Python-cirkeldiagram met labels

Hoe je de grafiek aanpast

Cirkeldiagrammen in Matplotlib, net als de segmenten waaruit ze bestaan, zijn sterk aanpasbaar. Laten we enkele opties bekijken die de functie pie.plot() biedt. 

Om de kleur van de segmenten te veranderen, kunnen we de parameter colors gebruiken. We gebruiken deze parameter om het DataCamp-kleurenpalet op onze grafiek toe te passen. 

datacamp_palette = ['#03ef62','#06bdfc','#ff6ea9','#ff931e','#ff5400','#7933ff']
plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, colors = datacamp_palette, autopct='%1.1f%%')
plt.show()

Python-cirkeldiagram met aangepast kleurenpalet

Ziet er al een stuk beter uit, toch? Maar we kunnen nog veel meer doen om ons cirkeldiagram aan te passen. Zo kunnen we spelen met de afstand van de labels en de percentages met respectievelijk de parameters labeldistance en pctdistance, en een hoek kiezen om het snijden te starten met de parameter startangle.

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, colors = datacamp_palette, autopct='%1.1f%%', 
pctdistance= 0.8, labeldistance=1.1, startangle=180)

plt.show()

Stel tot slot dat je een presentatie geeft en je wilt focussen op R-cursussen. Een handige manier om dit te benadrukken is door dat segment te laten "uitsteken" met de parameter explode, als volgt:

explode = (0, 0.1, 0, 0, 0, 0)  # only "explode" the 2nd slice (i.e. 'R')

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, 
        colors = datacamp_palette, autopct='%1.1f%%', 
        pctdistance= 0.8, labeldistance=1.1, 
        startangle=180, explode=explode)

plt.show()

Hoe je de grafiek opslaat

Nadat je je cirkeldiagram hebt gemaakt, ben je klaar om het te delen met je samenwerkers. Dat kan met de functie plt.savefig() die de bestandsnaam als invoer neemt en je toelaat op te slaan in verschillende formaten, zoals .png, .jpg, .svg of .pdf. Daarnaast kun je met dpi de resolutie van de afbeelding wijzigen. 

Hier is een voorbeeld van hoe je je cirkeldiagram opslaat in .jpg-formaat met 200 dots per inch.

plt.pie(x = df.courses, labels = df.labels, 
        colors = datacamp_palette, autopct='%1.1f%%', 
        pctdistance= 0.8, labeldistance=1.1, 
        startangle=180, explode=explode)

plt.savefig('demo.jpg', dpi =200)

Je kunt meer leren over het juist opslaan van visualisaties in onze cursus Introduction to Data Visualization with Matplotlib.

Methode 2: Cirkeldiagrammen met Pandas

Nu je weet hoe je een cirkeldiagram met Matplotlib maakt, kijken we hoe het werkt in Pandas.

Hoe je de grafiek maakt

Pandas heeft een plot()-methode die kan worden gebruikt om verschillende soorten plots te tekenen. Deze methode werkt zowel op DataFrame- als Series-objecten in Pandas. Het argument kind in de plot()-methode helpt je het type plot te specificeren. In ons geval kun je een cirkeldiagram maken met kind ='pie'. Je kunt ook de parameter labels gebruiken om elke sector van een naam te voorzien en de parameter autopct om de percentages van elke sector toe te voegen.

python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%')
plt.show()

Hoe je de grafiek aanpast

De plot()-methode van Pandas is een handig hulpmiddel voor snel plotten, maar heeft beperkte aanpassingsopties. Gelukkig gebruikt de methode Matplotlib als backend, wat betekent dat je buiten de methode om Matplotlib-syntaxis kunt gebruiken om je visualisatie aan te passen. Hieronder vind je een voorbeeld van hoe je Pandas en Matplotlib combineert.

ax= python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%', 
                       colors=datacamp_palette, figsize=(5,5))

ax.set_title('Pie Chart DatataCamp Courses')
ax.set_ylabel(None)

plt.show()

Hoe je de grafiek opslaat

Cirkeldiagrammen opslaan in Pandas werkt exact hetzelfde als in Matplotlib, omdat Pandas onder de motorkap op Matplotlib leunt.

ax= python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%', 
                       colors=datacamp_palette, figsize=(5,5))

ax.set_title('Pie Chart DatataCamp Courses')
ax.set_ylabel(None)

plt.savefig('demo.png')

Problemen met cirkeldiagrammen oplossen

Om ervoor te zorgen dat je cirkeldiagrammen correct worden weergegeven, moet je Matplotlib van de juiste data voorzien. Dat betekent dat je altijd datacleaning-technieken op je dataframe toepast, zoals het verwijderen van null-waarden met pd.dropna() en het instellen van de juiste datatypen voor je invoerkolommen.

Bovendien is maatwerk cruciaal om een overtuigend en impactvol cirkeldiagram te tonen. Houd er echter rekening mee dat geavanceerde aanpassingen, zoals "exploding", mogelijk niet worden ondersteund als je Pandas gebruikt. Zoals al genoemd: als je meer controle over je cirkeldiagram nodig hebt, moet je mogelijk Matplotlib-code toevoegen aan je scripts.

Toegankelijkheid en bruikbaarheid verbeteren

Houd je aan goede praktijken wanneer je je cirkeldiagrammen presenteert.

  • Beoordeel je publiek: Als gouden regel: leef je altijd in in het publiek voor wie je visualisatie bedoeld is. Dit betekent dat je een goed beeld hebt van hun expertisegebied, technisch niveau en interesses. 
  • Ruim ruis op: Om onleesbare, rommelige visualisaties te voorkomen, vraag je jezelf af of wat je opneemt relevant is voor het publiek, en verwijder je zoveel mogelijk overbodige elementen. Vermijd bij cirkeldiagrammen 3D-effecten of schaduwen, omdat die de interpretatie kunnen bemoeilijken. 
  • Let op de lettertypes: Hoe verleidelijk het ook is om verschillende lettertypes en groottes te gebruiken, hanteer als vuistregel één lettertype met niet meer dan drie groottes. Volg de typografische hiërarchie: koppen groter dan bodytekst en gebruik vet om kernelementen en koppen te benadrukken. 
  • Gebruik kleuren doordacht: Kleur is een van de meest in het oog springende aspecten van elke datavisualisatie. Denk dus goed na over het kleurenschema van je visualisatie. Dat betekent een consistent palet hanteren over je visualisaties en kleur systematisch gebruiken om groepen, belangrijkheidsniveaus en verschillende soorten informatiehiërarchie te onderscheiden.
  • Testen op andere apparaten: Het is altijd verstandig om je visuals te testen en te bekijken op meerdere apparaten.

Datavisualisatie kun je zien als een kunst. Intuïtie en goede smaak maken verschil, maar houd altijd rekening met de theorie erachter. Wil je meer weten over best practices voor effectieve datavisualisatie? Bekijk dan onze Data Storytelling & Communication Cheat Sheet. Werk je met dashboards, dan is dit artikel over Best Practices voor het ontwerpen van dashboards de moeite waard.

Alternatieven voor cirkeldiagrammen

Eerlijk is eerlijk: cirkeldiagrammen behoren tot de meest bekritiseerde grafieken. Het is aangetoond dat mensen niet zo goed zijn in het interpreteren van hoeken. Dat kunnen we illustreren met het cirkeldiagram dat we eerder gebruikten. Kijk naar de segmenten Excel en ChatGPT. Kun je in één oogopslag zeggen welk segment de grootste hoek heeft?

Waarschijnlijk niet, en daarom raden veel experts in datavisualisatie aan om andere grafieken te gebruiken om verhoudingen weer te geven, zeker bij veel categorieën, zoals staafdiagrammen en gestapelde staafdiagrammen, treemaps of zelfs donutdiagrammen. Je kunt meer over deze alternatieven lezen in ons artikel Types of Data Plots and How to Create Them in Python.

Conclusie

Gefeliciteerd dat je het einde van de tutorial hebt gehaald. Python is een zeer veelzijdige programmeertaal met verschillende libraries en benaderingen om cirkeldiagrammen te maken. In deze tutorial hebben we geanalyseerd hoe je cirkeldiagrammen maakt met Matplotlib en Pandas. Beide zijn even geschikt voor de taak en vertonen duidelijke overeenkomsten. Het idee is niet om er één te kiezen, maar om ze afwisselend te gebruiken, afhankelijk van je behoeften en workflow. 

Wil je meer weten over cirkeldiagrammen en breder over datavisualisatie in Python, dan helpt DataCamp je graag op weg. Bekijk ons gerichte lesmateriaal en maak je klaar om een visualisatiewizard te worden!


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Ik ben een freelance data-analist en werk samen met bedrijven en organisaties wereldwijd aan data­scienceprojecten. Ook geef ik les in data science en heb ik meer dan twee jaar ervaring als docent. Ik schrijf regelmatig artikelen over data science in het Engels en Spaans; sommige daarvan zijn gepubliceerd op bekende platforms zoals DataCamp, Towards Data Science en Analytics Vidhya. Als data scientist met een achtergrond in politicologie en recht wil ik werken op het snijvlak van openbaar beleid, recht en technologie. Ik zet de kracht van ideeën in om innovatieve oplossingen en verhalen te ontwikkelen die helpen bij het aanpakken van urgente uitdagingen, met name de klimaatcrisis. Ik beschouw mezelf als autodidact, een eeuwige leerling en een groot voorstander van multidisciplinariteit. Het is nooit te laat om nieuwe dingen te leren.

Veelgestelde vragen

Wat is een cirkeldiagram en wanneer gebruik ik het?

Een cirkeldiagram is een soort grafiek waarin een cirkel is opgedeeld in sectoren die elk een deel van het geheel voorstellen. Het is dus geschikt om verhoudingen weer te geven.

Hoe maak ik een cirkeldiagram in Matplotlib?

De makkelijkste manier om een cirkeldiagram met Matplotlib te maken is met de functie plt.pie(), die diverse parameters voor aanpassing biedt.

Hoe maak ik een cirkeldiagram in Pandas?

De makkelijkste manier om een cirkeldiagram met Pandas te maken is met de methode Series.plot.(kind=’pie’). Hiermee visualiseer je snel op Pandas-DataFrames, maar de aanpassingsopties zijn beperkter dan in Matplotlib.

Wat zijn de best practices bij het maken van cirkeldiagrammen?

Volg altijd best practices bij het maken van je visualisaties. Houd je cirkeldiagrammen zo eenvoudig mogelijk, vermijd onnodige elementen, kies intuïtieve kleurenpaletten en stem de grafiek af op je publiek.

Wat zijn de belangrijkste beperkingen van cirkeldiagrammen?

Mensen zijn niet zo goed in het interpreteren van hoeken; daarom raden veel visualisatie-experts aan om andere grafieken te gebruiken om verhoudingen te tonen, zoals staafdiagrammen.

Onderwerpen
Python
Data-analyse

Leer met DataCamp

Cursus

Data Science begrijpen

2 uur
876.1K
Introductie in data science zonder coderen.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken