默认情况下,matplotlib子图是按行而不是按列填充的。为了澄清,命令

plt.subplot(nrows=3, ncols=2, idx=2)
plt.subplot(nrows=3, ncols=2, idx=3)

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

有时,出于某种原因,可能希望按行而不是按列填充子图(例如,因为直接连续的图属于在一起,并且位于彼此之间而不是彼此相邻时更容易解释)。如何做到这一点?

最佳答案

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

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

如果转置此数组,则展平可以按列而不是按行绘制:
fig, axes = plt.subplots(nrows=3, ncols=2)

for ax in axes.T.flatten():
    ax.plot([1,2,3])

关于python - 按列而非行填充matplotlib子图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49054631/

10-12 16:51