LA ILAHA ILLA HU
Allah, Your Lord There Is No Deity Except Him.
Python Data Science Matplotlib Pie Charts In Matplotlib
In Matplotlib the pie() function can be use to draw pie charts.
The pie chart draws one piece (called a wedge) for each value in the array.
By default the plotting of the first wedge starts from the x-axis and move anti-clockwise.
Example 1: A simple pie chart
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
plt.pie(y)
plt.show()
the output will be
Note: As you can see the pie chart draws one piece (called a wedge) for each value in the array (in this case [30, 25, 35, 10]).
Adding Labels In Pie Chart
Labels can be added to the pie chart with the label parameter.
The label parameter must be an array with one label for each wedge.
Example 2: Add labels to the above pie chart.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.show()
the output will be
Start Angle
As a rule the default start angle is at the x-axis,
but you can change the start angle by specifying a startangle parameter.
Example 3: Start the first wedge at 90 degree in the above example.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels, startangle = 90)
plt.show()
the output will be
Explode
The Explode parameter comes into picture when you want one of the wedges to stand out. The explode parameter allows you to do that.
The explode parameter, if specified, and not None, must be an array with one value
for each wedge.
Each value represents how far from the center each wedge is displayed.
Example 4: Pull the "cherries" wedge 0.1 from the center of the pie.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0, 0, 0.1, 0]
plt.pie(y, labels = mylabels, startangle = 90, explode = myexplode)
plt.show()
the output will be
Adding Shadow
You can add a shadow to the pie chart by setting the shadows parameter to True.
Example 5: Add shadow parameter to the above example.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0, 0, 0.1, 0]
plt.pie(y, labels = mylabels, startangle = 90, explode = myexplode, shadow = True)
plt.show()
the output will be
Adding Colors
You can set the color of each wedge with the colors parameter.
The colors parameter, if specified, must be an array with one value for each wedge.
Example 6: Specify a new color for each wedge in the above example.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["red", "hotpink", "m", "#4CAF50"]
myexplode = [0, 0, 0.1, 0]
plt.pie(y, labels = mylabels, startangle = 90, explode = myexplode, shadow = True, colors = mycolors)
plt.show()
the output will be
You can use Hexadecimal color values, any of the 140 supported color names, or one of these shortcuts.
'r' - Red 'g' - Green 'b' - Blue 'c' - Cyan 'm' - Magenta 'y' - Yellow 'k' - Black 'w' - White
Adding Legend to Pie Charts
The legend() is used to add a list of explanation for each wedge.
Example 7: Add a legend to the above example.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["red", "hotpink", "m", "#4CAF50"]
myexplode = [0, 0, 0.1, 0]
plt.pie(y, labels = mylabels, startangle = 90, explode = myexplode, shadow = True, colors = mycolors)
plt.legend()
plt.show()
the output will be
Legend With Header
In order to add a legend with a header you can add a header to the legend, add the title parameter to the legend function..
Example 8: Add a legend with a header.
Code
import matplotlib.pyplot as plt
import numpy as np
y = np.array([30, 25, 35, 10])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["red", "hotpink", "m", "#4CAF50"]
myexplode = [0, 0, 0.1, 0]
plt.pie(y, labels = mylabels, startangle = 90, explode = myexplode, shadow = True, colors = mycolors)
plt.legend(title = "My Diet Fruits List:")
plt.show()
the output will be