Matplotlib:重新排序子图

时间:2014-03-17 15:48:49

标签: python matplotlib

假设我有一个数字fig,其中包含两个子图,如documentation中的示例所示: enter image description here

我可以通过以下方式获得两个轴(左边是ax1,右边是ax2):

ax1, ax2 = fig.axes

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

1 个答案:

答案 0 :(得分:6)

当然,只要您在之后不再使用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()

enter image description here