Matplotlib Pie Chart – plt.pie() | Python Matplotlib Tutorial
Matplotlib Pie Chart
In this blog, we will work on how to draw a matplotlib pie chart? To draw pie char use plt.pie() function. The matplotkib plt.pie() function help to plot pie chart of given numeric data with labels. It also support different parameters which help to show better.
Importing Library
import matplotlib.pyplot as plt
Plotting Matplotlib Pie Chart
plt.pie([1]) # Plot pie chart of value [1] plt.show() # To show Pie chart
Output >>>

Importing Dataset
classes = ["Python", 'R', 'Machine Learning', 'Artificial Intelligence', 'Data Sciece'] class1_students = [45, 15, 35, 25, 30]
Plotting pie chart using real dataset.
plt.pie(class1_students, labels = classes) plt.show()
Output >>>

Below are the different parameters of plt.pie() functions.
Syntax: plt.pie(
[‘x’,
‘explode=None’,
‘labels=None’,
‘colors=None’,
‘autopct=None’,
‘pctdistance=0.6’,
‘shadow=False’,
‘labeldistance=1.1’,
‘startangle=None’,
‘radius=None’,
‘counterclock=True’,
‘wedgeprops=None’,
‘textprops=None’,
‘center=(0, 0)’,
‘frame=False’,
‘rotatelabels=False’,
‘*’,
‘data=None’],
)
x : array-like
explode : array-like, optional, default: None
labels : list, optional, default: None
colors : array-like, optional, default: None
autopct : None (default), string, or function, optional
pctdistance : float, optional, default: 0.6
shadow : bool, optional, default: False
labeldistance : float, optional, default: 1.1
startangle : float, optional, default: None
radius : float, optional, default: None
counterclock : bool, optional, default: True
wedgeprops : dict, optional, default: None
—- example, you can pass in wedgeprops = {‘linewidth’: 3}
textprops : dict, optional, default: None
center : list of float, optional, default: (0, 0)
frame : bool, optional, default: False
rotatelabels : bool, optional, default: False
Plotting pie chart using different parameters.
explode = [0.03,0,0.1,0,0] # To slice the perticuler section colors = ["c", 'b','r','y','g'] # Color of each section textprops = {"fontsize":15} # Font size of text in pie chart plt.pie(class1_students, # Values labels = classes, # Labels for each sections explode = explode, # To slice the perticuler section colors =colors, # Color of each section autopct = "%0.2f%%", # Show data in persentage for with 2 decimal point shadow = True, # Showing shadow of pie chart radius = 1.4, # Radius to increase or decrease the size of pie chart startangle = 270, # Start angle of first section textprops =textprops) plt.show() # To show pie chart only
Output >>>

Plotting pie chart using a legend – plt.legend()
explode = [0.03,0,0.1,0,0] # To slice the perticuler section colors = ["c", 'b','r','y','g'] # Color of each section textprops = {"fontsize":15} # Font size of text in pie chart plt.pie(class1_students, # Values labels = classes, # Labels for each sections explode = explode, # To slice the perticuler section colors =colors, # Color of each section autopct = "%0.2f%%", # Show data in persentage for with 2 decimal point shadow = True, # Showing shadow of pie chart radius = 1.4, # Radius to increase or decrease the size of pie chart startangle = 270, # Start angle of first section textprops =textprops) plt.legend() # To show legend plt.show() # To show pie chart only
Output >>>

Plotting pie chart using more parameters than above and width = 1.
plt.figure(figsize = (3,2)) wedgeprops = {"linewidth": 4, 'width':1, "edgecolor":"k"} # Width = 1 plt.pie( class1_students, labels = classes, explode = explode, colors = colors, autopct = "%0.2f%%", pctdistance = 0.6, shadow =True, labeldistance = 1.6, startangle = 270, radius = 1, counterclock = True, wedgeprops = wedgeprops, textprops = textprops, center=(2, 3), frame=True, rotatelabels=True ) plt.show()
Output >>>

Change the Value of width by 2,3,4 then you will gote below the pie charts.


Plotting another pie charts for fun.
import numpy as np plt.figure(figsize=(7,4)) #plt.figure(figsize=(16,9) colors = ['r','w','r','w','r','w','r','w','r','w','r','w','r','w','r','w','r','w','r','w'] labels = np.ones(20) #labels = [1.0,1.0,1.0,1.0,1.0,.........,1.0] plt.pie([1], colors="k", radius = 2.05) plt.pie(labels, colors=colors, radius = 2.0) plt.pie([1], colors="g", radius = 1.8) plt.pie([1], colors="y", radius = 1.6) plt.pie([1], colors="c", radius = 1.3) plt.pie([1], colors="b", radius = 1.1) plt.pie([1], colors="m", radius = 0.9) plt.pie([1], colors="b", radius = 0.31) plt.pie(labels, colors=colors, radius = 0.3) plt.pie([1], colors="w", radius = 0.2) plt.pie([1], colors="k", radius = 0.1) plt.show()
Output >>>

Conclusion
In the matplotlib plt.pie chart blog, we learn how to plot one and multiple pie charts with a real-time example using the plt.pie() method. Along with that used different method and different parameter. We suggest you make your hand dirty with each and every parameter of the above methods. This is the best coding practice. After completion of the matplotlib tutorial jump on Seaborn.
Download Jupyter file of matplotlib bar chart source code
Visit the official site of matplotlib.org