规则划分区域,划分数=图片数
将画布分为2x2=4个部分,绘制4个图,如下图所示。
使用的函数是subplot(m,n,p)
- m代表行
- n代表列
- p代表第几个图(按从上到下,从左到右排序)
上图使用的代码如下
#设置画布
plt.figure(figsize=(20,8))
#绘制第1个图
plt.subplot(2,2,1)#1,2,1分别代表:2x2,第1个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图1')
#绘制第2个图
plt.subplot(2,2,2)#1,2,2分别代表:2x2,第2个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图2')
#绘制第3个图
plt.subplot(2,2,3)#1,2,1分别代表:2x2,第3个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图3')
#绘制第4个图
plt.subplot(2,2,4)#1,2,2分别代表:2x2,第4个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图4')
plt.show()
规则划分区域,划分数≠图片数,区域将重新整合再划分
绘制的原理
- 将区域划分为2x2,可容纳4个图
- 上面两个简单,分别是(2,2,1)和(2,2,2)
- 下面的大图,占用了(2,2,3)和(2,2,4)两个位置
- 此时需要重新划分:将区域划分为2x1,可容纳2个图
- 将上面2个小图看做整体,占用了(2,1,1)的位置
- 下面的大图,占用的是(2,1,2)的位置
这种组合图的代码逻辑如下(图不同)
#设置画布
plt.figure(figsize=(20,8))
#绘制第1个图
plt.subplot(2,2,1)#2x2,第1个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图1')
#绘制第2个图
plt.subplot(2,2,2)#2x2,第2个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图2')
#绘制第3个大图
plt.subplot(2,1,2)#2x1,第2个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图3')
plt.show()
下面的组合图,也是同样的原理
代码如下
#设置画布
plt.figure(figsize=(20,8))
plt.subplot(2,2,1)#2x2,第1个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图1')
#绘制第2个图
plt.subplot(2,2,3)#2x2,第3个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图2')
#绘制第3个大图
plt.subplot(1,2,2)#2x1,第2个
plt.plot(np.random.random_integers(-20,20,20))
plt.title('图3')
plt.show()