This question already has an answer here:
Matplotlib - adding subplots to a subplot?
                                
                                    (1个答案)
                                
                        
                                在6个月前关闭。
            
                    
我用以下代码垂直排列了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,都在第一行中) 。如果可以的话,我该怎么办?

最佳答案

我将再举一个例子。此代码plt.subplot(324)将使您的图形成为3x2表(3行2列),并在“单元格4”上建立坐标。参见下图python - 如何在Matplotlib中安排嵌套子图?-LMLPHP
因此,如果要在“单元格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")

09-27 14:51