May 31, 2021 Article blog
Matplotlib library can draw graphs, but also can draw statistical graphs, this article describes pie charts, bar charts and other commonly used statistical graphics drawing methods.
Recommended lessons:
Python automated office,
with Python automated office as a workplace master.
Draw a pie chart using the pie() method:
import matplotlib.pyplot as plt
Print ('\ n ----- Welcome to W3cschool.cn')
plt.rc('font',family='Arial',size='9')
plt.rc('axes',unicode_minus='False')
labels = ['Strawberry', 'Apple', 'Banana', 'Pear', 'Orange']
SIZES = [39, 20, 55, 30, 25] # Value of each element, automatically calculates percentage based on this value
Explode = [0.1, 0.2, 0, 0, 0] # Expansion distance of each element, specified 0 and 1
fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=0)
# AutoPCT Accuracy Startangle The starting angle of the first element, other elements are tissue in counter-hour, whether Shadow uses a shadow
Ax.axis ('scaled') # Set the pattern of the pie chart, set to equals displayed is round
fig.savefig('matplot-basic-pie.jpg')
plt.show()
The effect is as shown:
ax.pie() method parameters:
Use the bar() method to draw a bar chart:
import matplotlib.pyplot as plt
import numpy as np
Print ('\ n ----- Welcome to W3cschool.cn')
plt.rc('font',family='Arial',size='9')
plt.rc('axes',unicode_minus='False')
fig, ax = plt.subplots()
fruit = ('Banana', 'Strawberry', 'Watermelon', 'Apple', 'Papaya', 'Tomatoes')
weight = (100,135,50,83,92,66)
ax.bar(fruit, weight, align='center',width=0.7)
Ax.set_ylabel ('weight') # Settings an X-axis tag
ax.set_title('Histogram')
fig.savefig('matplot-bar.jpg')
plt.show()
The effect is as shown:
Bar() parameter:
Draw a horizontal bar chart using the barh() method:
import matplotlib.pyplot as plt
import numpy as np
Print ('\ n ----- Welcome to W3cschool.cn')
plt.rc('font',family='Arial',size='9')
plt.rc('axes',unicode_minus='False')
fig, ax = plt.subplots()
fruit = ('Banana', 'Strawberry', 'Watermelon', 'Apple', 'Papaya', 'Tomatoes')
y_pos = np.arange(len(fruit))
weight = (100,135,50,83,92,66)
ax.barh(y_pos, weight, align='center',height=0.7)
AX.SET_YTICKS # Sets the y-axis coordinate
Ax.set_ytyicklabels (wind) # Set Y-axis tag
AX.INVERT_YAXIS () # Setting the label from top to bottom, more in line with reading habits
Ax.set_xlabel ('weight') # Settings an x-axis tag
ax.set_title('Horizontal bar chart')
fig.savefig('matplot-hor-bar.jpg')
plt.show()
The effect is as shown:
Barh() method parameters:
ax.invert_yaxis() means that the y coordinate is reversed, which is more in line with reading habits, and the 0th element is displayed at the top.
A grouped bar chart is a combination of a bar chart, which is actually a combination of two bars:
import matplotlib.pyplot as plt
import numpy as np
Print ('\ n ----- Welcome to W3cschool.cn')
plt.rc('font',family='Arial',size='9')
plt.rc('axes',unicode_minus='False')
fruit = ('Banana', 'Strawberry', 'Watermelon', 'Apple', 'Papaya', 'Tomatoes')
weight = (100,135,50,83,92,66)
count = (20,15,30,53,22,36)
x = np.arange(len(fruit))
fig, ax = plt.subplots()
width = 0.4
ax.bar(x-width/2, weight, width=width,label='weight')
ax.bar(x+width/2, count, width=width,label='number')
ax.set_title('Grouping histogram')
Ax.set_ylabel ('Weight / Number') # Set Y-axis tag
Ax.set_xticks (x) # Set X-axis coordinate values
Ax.set_xtickLabels (FRUIT) # Set X-axis coordinate tag
fig.savefig('matplot-bar-group.jpg')
Ax.Legend () # Display legend
plt.show()
The effect is as shown:
The first parameter of the bar() entry parameter is not a tuple that uses the classification form directly, but a numpy array that is redefined according to the number of categories, so that the two bars can be placed side-by-side based on half of the value plus or minus width.
Usage is similar to pyplot.plot(), with an additional parameterwhere indicating which position the dash ladder is in the front and last at that point, which can be 'pre', 'mid', 'post' and other three types, the default 'pre'.