我能在matplotilb子图中移动轴吗?

7

一旦我在一个图中创建了子图系统,使用

        fig, ((ax1, ax2)) = plt.subplots(1, 2)

我可以调整ax2的位置吗?比如把它向右或向左移动一点点?

换句话说,在创建subplot元素后,我能否自定义图中轴对象的位置?如果可以,我该如何编写代码?

感谢您的帮助。

1个回答

14

您可以像以下示例一样使用命令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()

这将导致如下结果:

移动matplotlib子图

您会注意到,我使用了属性x0x1(框的第一个和最后一个X坐标)来在该轴上将图形向0.05移动。逻辑也适用于y。

实际上,如果移位过大,框将重叠(就像在此图像中使用移位0.2一样)。

在matplotlib中移动时出现重叠的大偏移


有没有类似于fig = plt.figure()的替代方法,而不是使用fig,ax = plt.subplots()? - Desperate Morty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接