目录
在matplotlib中,所有的绘图操作实际上都是以Axes对象为独立的绘图区域进行,在一个Figure对象中可以有多个子图,这些子图可以叠加存在,从而形成图中图效果。
1、绘制多个子图
subplot命令:可以将figure对象分为多个区域,每个区域分别放置一个Axes对象进行绘图。
matplotlib.pyplot.subplot(
nrows / ncols = 1 #: 图组的行/列数。
#整个Figure对象区域被划分为nrows行 * ncols列。
#然后按照从左到右、从上到下的顺序对每个区域进行编号,左上区域的编号为1。
index #: 指定所创建Axes对象所在的区域。
)
#如果numRows、numCols和Index三个参数都小于10,则可以把它们缩写成一个整数。
#subplot(323)和subplot(3,2,3)的含义相同。
子图区域设置
from matplotlib import pyplot as plt
plt.subplot(221) # 前面两个参数分别表示行和列,即将figure分为2行2列的区域,该图形的位置为第一行的左图
plt.subplot(222) # 第一行的右图
plt.subplot(212) # 第二整行
plt.plot([1,2,2,1]) #图形绘制在最后一个子图上
plt.show()
绘制结果如下:
2、绘图在指定的子图上
指定图表显示位置,即指定要画的图形显示在指定的子图上。
plt.subplot(221)
ax1 = plt.subplot(222)
plt.subplot(212)
plt.sca(ax1)
plt.plot([1,2,2,1]) #这样图形就显示在第二个子图中
plt.show()