1、显示多个图
使用subplots()
函数,可以在一幅图中绘制多个图:
例如:
绘制2个图:
import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(1, 2, 1)plt.plot(x,y)#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)plt.plot(x,y)plt.show()
Result:
2、subplots() 函数
subplots()
函数采用三个参数来描述图形的布局。
布局按行和列组织,由第一个和第二个参数表示。
第三个参数表示当前图的索引。
plt.subplot(1,2,1) #该图有1行2列,该图是第一个图。
plt.subplot(1、2、2) #该图有1行2列,该图是第二个图。
因此,如果我们想要一个2行1列的图形(这意味着这两个图将彼此并排显示而不是并排显示),我们可以编写如下语法:
例如:
相互绘制2个图:
import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 1, 1)plt.plot(x,y)#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 1, 2)plt.plot(x,y)plt.show()
Result:
可以在一个图形上绘制任意多的图,只需描述图的行数,列数和索引。
例如:
绘制6个图:
import matplotlib.pyplot as pltimport numpy as npx = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 3, 1)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 3, 2)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 3, 3)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 3, 4)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 3, 5)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 3, 6)plt.plot(x,y)plt.show()
Result:
3、标题title()
可以使用title()
函数为每个图添加标题:
例如:
2个图,标题:
import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(1, 2, 1)plt.plot(x,y)plt.title("SALES")#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)plt.plot(x,y)plt.title("INCOME")plt.show()
Result:
4、总标题(Super Title)
可以使用suptitle()
函数为整个图形添加标题:
例如:
为整个图形添加标题:
import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(1, 2, 1)plt.plot(x,y)plt.title("SALES")#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)plt.plot(x,y)plt.title("INCOME")plt.suptitle("MY SHOP")plt.show()
Result: