首页 > 解决方案 > 如何在同一个图中并排绘制 3 个图形 | 蟒蛇 3

问题描述

我想以连续的方式绘制 3 个图,所以第一个图的线在哪里结束,我希望第二个图的线开始,第二个图的线在哪里结束,我希望第三个继续。

由于我有 3 个子图,我想在一行中一个接一个地绘制它们。

这是我的代码,但它分别绘制它们:

fig, (ax1, ax2, ax3) = plt.subplots(nrows=3, ncols=1) # two axes on figure
ax1.plot(max_1_season.index, base_1_season.r_base,'r')
ax2.plot(max_2_season.index, base_2_season.r_base, 'b')
ax3.plot(max_3_season.index, base_3_season.r_base, 'g')

plt.savefig('plot.png', dpi=600)
plt.show()

根据我拥有的值,我知道每个赛季之后应该有上升曲线,所以我知道它们确实会一个接一个地继续(看看 x 轴)。

如下图所示,如何将它们合并在一起?

绘图的图片

标签: pythonpython-3.x

解决方案


您可以使用 以连续方式为每个图创建一个 x 轴向量np.linspace

如:

ax1 = np.random.randn(10)
ax2 = np.random.randn(10)
ax3 = np.random.randn(10)

y1 = np.linspace(1,10,10)
y2 = np.linspace(11,20,10)
y3 = np.linspace(21,30,10)

plt.plot(y1, ax1, 'r') 
plt.plot(y2, ax2, 'b') 
plt.plot(y3, ax3, 'g') 
plt.show()

在此处输入图像描述


推荐阅读