Matplotlib多子图显示1——subplot
程序员文章站
2022-03-21 17:41:50
...
-
先观察结果
[外链图片转存中…(img-htPlTN2i-1582336140253)]
-
导入支持包
import matplotlib.pyplot as plt
-
子图布局写法1
# 写法一plt.subplot(r,c,index) # r 将画布分成r行 # c 将画布分成c列 # index 将画布分成r行c列,此次画图所在区块的索引 plt.subplot(2,2,1) plt.plot([0,1],[0,1]) plt.subplot(2,2,2) plt.plot([0,1],[0,2])
-
子图布局写法2
# 写法二plt.subplot(r,c,index) # 效果同上,只是不加逗号 plt.subplot(223) plt.plot([0,1],[0,3]) plt.subplot(224, title='224') plt.plot([0,1],[0,4])
-
如果 此时出图的话
# plt.tight_layout() # plt.show()
出图如文首所示
-
如果再继续这样写的话
# 此时如果这样写会怎么样 plt.subplot(211, title='211') # 将画布分成两行一列,这次画图放在第一部分 plt.plot([0,1],[0,4])
-
出图
# 加上这一句可以避免不同子图的边缘重叠(在有label,title时可能会发生) plt.tight_layout() plt.show() # 展示
出图如下
[外链图片转存中…(img-XFSMo5YE-1582336140255)]
发现它会把之前的画图覆盖——如果最近/最新的subplot设定与之前的重复,之前的将不再显示——就近原则
一个subplot设定只对当前plot有效,(211)应当理解为把划分分成2行1列
的 话
,这个subplot放在第一份 -
说明
按顺序复制程序即可执行
-
参考文献
代码主要出自 Subplot 多合一显示,略有改动