概述
目录
1、画子图
2、子图大小的位置调整
1、画子图
将多张子图展示在一起,可以使用 subplot() 实现。即在调用 plot() 函数之前需要先调用 subplot() 函数。该函数的第一个参数代表子图的总行数,第二个参数代表子图的总列数,第三个参数代表活跃区域。
def line_test2():
x = np.linspace(0, 50, 100)
ax1 = plt.subplot(2, 2, 1)
# (行,列,活跃区)
plt.plot(x, np.sin(x), 'r')
ax2 = plt.subplot(2, 2, 2, sharey=ax1)
# 与 ax1 共享y轴
plt.plot(x, 2 * np.cos(x), 'g')
ax3 = plt.subplot(2, 2, 3)
plt.plot(x, np.tan(x), 'b')
ax4 = plt.subplot(2, 2, 4, sharey=ax3)
# 与 ax3 共享y轴
plt.plot(x, 2 * np.sin(x), 'y')
plt.show()
结果:
2、子图大小的位置调整
上面的每个子图的大小都是一样的。有时候我们需要不同大小的子图。比如将上面第一张子图完全放置在第一行,其他的子图都放在第二行。
def line_test2():
x = np.linspace(0, 50, 100)
ax1 = plt.subplot(2, 1, 1)
# (行,列,活跃区)
plt.plot(x, np.sin(x), 'r')
ax2 = plt.subplot(2, 3, 4)
plt.plot(x, 2 * np.sin(x), 'g')
ax3 = plt.subplot(2, 3, 5, sharey=ax2)
plt.plot(x, np.cos(x), 'b')
ax4 = plt.subplot(2, 3, 6, sharey=ax2)
plt.plot(x, 2 * np.cos(x), 'y')
plt.show()
plt.subplot(2, 1, 1) 将图像窗口分为了 2 行 1 列, 当前活跃区为 1。使用 plt.subplot(2, 3, 4) 将整个图像窗口分为 2 行 3 列, 当前活跃区为 4。
解释下为什么活跃区为 4,因为上一步中使用 plt.subplot(2, 1, 1) 将整个图像窗口分为 2 行 1 列, 第1个小图占用了第1个位置,也就是整个第1行. 这一步中使用 plt.subplot(2, 3, 4) 将整个图像窗口分为 2 行 3 列,于是整个图像窗口的第1行就变成了3列, 也就是成了3个位置, 于是第2行的第1个位置是整个图像窗口的第4个位置。
参考:
1、知乎-Python-matplotlib画图
https://zhuanlan.zhihu.com/p/33270402
最后
以上就是繁荣奇迹为你收集整理的matplot画图-画子图(三)的全部内容,希望文章能够帮你解决matplot画图-画子图(三)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复