按列填充matplotlib子图,而不是行

jhi*_*hin 2 python matplotlib

默认情况下,matplotlib子图由行填充,而不是按列填充.澄清一下,命令

plt.subplot(nrows=3, ncols=2, idx=2)
plt.subplot(nrows=3, ncols=2, idx=3)
Run Code Online (Sandbox Code Playgroud)

首先绘制到3x2绘图网格(idx = 2)的右上图,然后进入左中图(idx = 3).

有时,无论出于何种原因,可能需要按行填充子图,而不是按列填充(例如,因为直接连续的图集在一起并且当位于彼此下方时更容易解释,而不是彼此相邻).怎么能实现这一目标?

Dav*_*idG 6

您可以使用以下方法创建3x2轴阵列:

fig, axes = plt.subplots(nrows=3, ncols=2)
Run Code Online (Sandbox Code Playgroud)

如果您移调此数组,然后展平,您可以按列方式绘制,而不是按行绘制:

fig, axes = plt.subplots(nrows=3, ncols=2)

for ax in axes.T.flatten():
    ax.plot([1,2,3])
Run Code Online (Sandbox Code Playgroud)