matplotlib.pyplot中的subplot()函数可以用来在一张画布上绘制多个图形。
可以使用subplot(Rows,Columns,PltNum)这种参数形式:
Rows,Columns表示将画布划分Rows行、Columns列,共Rows*Columns个子区域。PltNum 表示子区域编号,左上角为1,从左到右,再从上到下依次递增。如,subplot(3,2,3)表示占3行2列的第2行第1列。
一般参数都是个位数,可以使用简写模式subplot(RCP), 如subplot(3,2,3)可简写成subplot(323)。
例子1,在非等分的画布上绘制多个图形:
代码语言:javascript复制import matplotlib
import matplotlib.pyplot as plt
import numpy as np
matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
matplotlib.rcParams["axes.unicode_minus"] = False
X1 = np.linspace(0,20,1000)
Y1= np.e**(-X1) * np.sin(X1)
X2 = np.random.randn(1000) 100
#可以使用subplot(Rows,Columns,PltNum)这种形式,如plt.subplot(121)
plt.subplot(121)#也可以subplot(RCP)这种形式
plt.plot(X1,Y1,"r-")
plt.xlabel("x 轴标签",color ="b")
plt.ylabel("y 轴标签",color ="b")
plt.title("标题",color ="b")
plt.grid()
plt.subplot(122)
plt.hist(X2, color ='red', edgecolor='black')
plt.xlabel("x 轴标签",color ="b")
plt.ylabel("y 轴标签",color ="b")
plt.title("标题",color ="b")
plt.tight_layout()#使图形自动微调,放置标签和附近的图重叠
plt.show()
例子2,在非等分的画布上绘制多个图形:
代码语言:javascript复制import matplotlib
import matplotlib.pyplot as plt
import numpy as np
matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
matplotlib.rcParams["axes.unicode_minus"] = False
X1 = np.linspace(0,20,1000)
Y1= np.e**(X1) * np.sin(X1)
X2 = np.random.randn(1000) 100
plt.subplot(211)
plt.plot(X1,Y1,"r-")
plt.xlabel("x 轴标签",color ="b")
plt.ylabel("y 轴标签",color ="b")
plt.title("标题1",color ="b")
plt.grid()
plt.subplot(223)
plt.hist(X2, color ='red', edgecolor='black')
plt.xlabel("x 轴标签",color ="b")
plt.ylabel("y 轴标签",color ="b")
plt.title("标题2",color ="b")
plt.subplot(224)
plt.boxplot([X2],labels=("G1",))
plt.ylabel("y 轴标签",color ="b")
plt.title("标题3",color ="b")
plt.suptitle("画布总标题")##
plt.tight_layout()
plt.show()