假设我有一个图形 fig ,其中包含两个子图,如 documentation 的示例所示:

我可以通过执行以下操作获得两个轴(左侧是 ax1 ,右侧是 ax2 ):

ax1, ax2 = fig.axes

现在,是否可以将 重新排列 子图 ?在这个例子中,要交换它们?

最佳答案

当然,只要您在重新定位它们之后不打算使用 subplots_adjust (因此也不会使用 tight_layout )(您之前可以安全地使用它)。

基本上,只需执行以下操作:

import matplotlib.pyplot as plt

# Create something similar to your pickled figure......
fig, (ax1, ax2) = plt.subplots(ncols=2)
ax1.plot(range(10), 'r^-')
ax1.set(title='Originally on the left')

ax2.plot(range(10), 'gs-')
ax2.set(title='Originally on the right')

# Now we'll swap their positions after they've been created.
pos1 = ax1.get_position()
ax1.set_position(ax2.get_position())
ax2.set_position(pos1)

plt.show()

关于python - Matplotlib:重新排序子图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22458919/

10-12 16:32