我可以在matplotilb子图中移动轴吗?

时间:2016-05-15 16:50:04

标签: matplotlib axes subplot

我用

创建了一个图中的子图系统
        fig, ((ax1, ax2)) = plt.subplots(1, 2)

我可以使用ax2的位置,例如,将它向右或向左移动一下吗?

换句话说,在创建子图元素后,我可以自定义图中轴对象的位置吗? 如果是这样,我怎么能编码呢?

感谢您的思考

1 个答案:

答案 0 :(得分:3)

您可以在此示例中使用命令get_positionset_position

import matplotlib.pyplot as plt

fig, ((ax1, ax2)) = plt.subplots(1, 2)
box = ax1.get_position()
box.x0 = box.x0 + 0.05
box.x1 = box.x1 + 0.05
ax1.set_position(box)
plt.show()

结果如下:

Shifting matplotlib subplot

您会注意到我已使用属性x0x1(框的第一个和最后一个X坐标)来移动该轴中0.05的图表。这个逻辑也适用于y。

事实上,如果转变为大而且方框会重叠(就像在此图像中移位0.2)。

big shift with overlapping plots in matplotlib