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

Xav*_*uvw 6 axes matplotlib subplot

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

        fig, ((ax1, ax2)) = plt.subplots(1, 2)
Run Code Online (Sandbox Code Playgroud)

我可以玩转 的位置ax2吗,例如,将它向右或向左移动一点?

换句话说,在将坐标区对象创建为子图元素后,我可以自定义它在图形中的位置吗?如果是这样,我该如何编码?

谢谢你的思考

arm*_*ita 10

你可以在这个例子中使用命令get_positionset_positionlike:

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()
Run Code Online (Sandbox Code Playgroud)

这导致:

移动 matplotlib 子图

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

事实上,如果移位很大,框就会重叠(就像这张图片中的 移位0.2)。

matplotlib 中重叠图的大转变