首页 > 解决方案 > 如何循环子图中的轴

问题描述

我有一个生成 15 张图像的循环。我创建了一个子图(5,3):

fig, axes = plt.subplots(5,3) for i in range(28,43): (...).plot(..., ax=axes[?,?])

我希望图像按顺序出现:axes[0,0]、axes[0,1]、axes[0,2]、axes[1,0]...

我应该把哪个论点放在轴上?

或者是否有必要在实际中创建另一个循环?

标签: pythonloopsmatplotlib

解决方案


当然,您可以简单地计算数字。

fig, axes = plt.subplots(5,3)
for i in range(28,43):
      (...).plot(..., ax=axes[(i-28)//3,(i-28)%3])

但通常你宁愿在轴上循环

fig, axes = plt.subplots(5,3)
for i, ax in enumerate(axes.flat):
    (...).plot(..., ax=ax)

推荐阅读