一旦我在一个图中创建了子图系统,使用
fig, ((ax1, ax2)) = plt.subplots(1, 2)
我可以调整ax2
的位置吗?比如把它向右或向左移动一点点?
换句话说,在创建subplot元素后,我能否自定义图中轴对象的位置?如果可以,我该如何编写代码?
感谢您的帮助。
一旦我在一个图中创建了子图系统,使用
fig, ((ax1, ax2)) = plt.subplots(1, 2)
我可以调整ax2
的位置吗?比如把它向右或向左移动一点点?
换句话说,在创建subplot元素后,我能否自定义图中轴对象的位置?如果可以,我该如何编写代码?
感谢您的帮助。
您可以像以下示例一样使用命令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
一样)。