如何在Matplotlib中安排嵌套子图?

时间:2019-06-19 04:56:22

标签: python matplotlib subplot

我用以下代码垂直排列了3个地块:

plt.figure(1)
plt.subplot(311)
plt.plot(z2, 'blue')
plt.plot(mid2, 'orange')
plt.plot(z3, 'red')
plt.plot(mid3, 'orange')
plt.subplot(312)
plt.plot(z)
plt.plot(mid)
plt.subplot(313)
plt.plot(proportional, "black")

但是我想做的是在第一个图(311)旁边添加另一个图。我的意思是我想在第一行中有两个图,然后像以前一样在接下来的两行中有一个图(我喜欢在一个图中显示z2,mid2,在旁边的其他图中显示z3,mid3,都在第一行中) 。如果有可能,我该怎么办?

1 个答案:

答案 0 :(得分:1)

我将举另一个例子。这段代码plt.subplot(324)将使您的图形变成3x2的表格(3行2列),并在“单元格4”上建立坐标。参见下图the "table" 因此,如果要在“单元格1”上绘制z2mid2,则分别绘制plt.subplot(321)plot

您可能想同时在“单元格3”和“单元格4”上绘制zmid,然后

plt.subplot(312)

(一个3x1的表格,在“单元格2”上做一个坐标,等效于一个在“ cell 3”和“ cell 4”上都具有坐标的3x2表格)

所以您的代码可能类似于:

plt.figure(1)

plt.subplot(321)             # "cell 1"
plt.plot(z2, 'blue')
plt.plot(mid2, 'orange')

plt.subplot(322)             # "cell 2"
plt.plot(z3, 'red')
plt.plot(mid3, 'orange')

plt.subplot(312)             # "cell 3" and "cell 4"
plt.plot(z)
plt.plot(mid)

plt.subplot(313)             # "cell 5" and "cell 6"
plt.plot(proportional, "black")