python pyplot:如何组织布局?

python pyplot:如何组织布局?,python,layout,matplotlib,Python,Layout,Matplotlib,查看matplotlib文档,我发现了以下示例: 这将生成一个2列布局,左侧是一个包含两行的列,右侧是一个包含1行的列。 这似乎与子批次的API所说的相符: 子地块(211)在表示顶部的图形中生成子地块 在2行1列的概念网格(无网格)中绘制(即第一个) 实际上是存在的,但从概念上讲,返回的子批就是这样存在的 已定位) 我现在尝试在左边的列中添加一行(总共3行)。 据我理解,这应该可以做到: import matplotlib.pyplot as plt def example_plot(a

查看matplotlib文档,我发现了以下示例:

这将生成一个2列布局,左侧是一个包含两行的列,右侧是一个包含1行的列。 这似乎与子批次的API所说的相符:

子地块(211)在表示顶部的图形中生成子地块 在2行1列的概念网格(无网格)中绘制(即第一个) 实际上是存在的,但从概念上讲,返回的子批就是这样存在的 已定位)

我现在尝试在左边的列中添加一行(总共3行)。 据我理解,这应该可以做到:

import matplotlib.pyplot as plt

def example_plot(ax,pid, fontsize=12):
    ax.plot([1, 2])
    ax.locator_params(nbins=3)
    ax.set_xlabel('x-label', fontsize=fontsize)
    ax.set_ylabel('y-label', fontsize=fontsize)
    ax.set_title('Title'+str(pid), fontsize=fontsize)

plt.close('all')
fig = plt.figure()

ax1 = plt.subplot(321) # changed "2" by "3"
ax2 = plt.subplot(323) # changed "2" by "3"
ax3 = plt.subplot(324) # line added
ax4 = plt.subplot(122)

example_plot(ax1,1)
example_plot(ax2,2)
example_plot(ax3,3) # line added
example_plot(ax4,4)

plt.tight_layout()

plt.show()

我一定是做错了什么,因为这显示了正确的布局,但第一列的第三个绘图没有显示……

当您使用3×2子绘图网格时,左列中的绘图编号为1、3和5。将行更改为
ax3=plt.subplot(325)
,它应该可以工作。

谢谢。。。为了确保我能理解为什么,这是因为数字4代表右边一栏的“想象”(行跨距)图?正确。首先对行进行编号,在本例中为1,2;3, 4; 五,六。
import matplotlib.pyplot as plt

def example_plot(ax,pid, fontsize=12):
    ax.plot([1, 2])
    ax.locator_params(nbins=3)
    ax.set_xlabel('x-label', fontsize=fontsize)
    ax.set_ylabel('y-label', fontsize=fontsize)
    ax.set_title('Title'+str(pid), fontsize=fontsize)

plt.close('all')
fig = plt.figure()

ax1 = plt.subplot(321) # changed "2" by "3"
ax2 = plt.subplot(323) # changed "2" by "3"
ax3 = plt.subplot(324) # line added
ax4 = plt.subplot(122)

example_plot(ax1,1)
example_plot(ax2,2)
example_plot(ax3,3) # line added
example_plot(ax4,4)

plt.tight_layout()

plt.show()