我可以在 matplotlib 子图中绕轴移动吗?
Can I move about the axes in a matplotilb subplot?
一旦我在图中创建了一个子图系统
fig, ((ax1, ax2)) = plt.subplots(1, 2)
我可以调整 ax2
的位置吗,例如,将它稍微向右或向左移动一点?
换句话说,我可以自定义轴对象在创建为子图元素后在图中的位置吗?
如果是这样,我该如何编码?
感谢您的思考
您可以像本例中那样使用命令 get_position
和 set_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()
结果是:
您会注意到我使用属性 x0
和 x1
(框的第一个和最后一个 X 坐标)在该轴上移动 0.05
中的绘图。该逻辑也适用于 y。
事实上,如果位移太大,方框就会重叠(就像这张图像中位移 0.2
)。
一旦我在图中创建了一个子图系统
fig, ((ax1, ax2)) = plt.subplots(1, 2)
我可以调整 ax2
的位置吗,例如,将它稍微向右或向左移动一点?
换句话说,我可以自定义轴对象在创建为子图元素后在图中的位置吗? 如果是这样,我该如何编码?
感谢您的思考
您可以像本例中那样使用命令 get_position
和 set_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()
结果是:
您会注意到我使用属性 x0
和 x1
(框的第一个和最后一个 X 坐标)在该轴上移动 0.05
中的绘图。该逻辑也适用于 y。
事实上,如果位移太大,方框就会重叠(就像这张图像中位移 0.2
)。