使用Matplotlib中的get和set axis方法的相对坐标

时间:2018-02-08 10:13:09

标签: python matplotlib

控制figure对象中新axes应该去的位置的一种方法是使用add_axes方法。此方法接受4个值的列表或元组,这些值表示[left,bottom,width,height],其中所有数量均为图形和高度的分数。例如:

import matplotlib
fig = plt.figure()
fig.add_axes([0.1,0.2,0.3, 0.4])

在指定的相对坐标中添加新的axes对象。如果我继续尝试提取这些坐标:

fig.axes[0].get_position()

结果是Bbox对象:

>>> Bbox([[0.1, 0.2], [0.4, 0.6000000000000001]])

问题是我不想要一个Bbox对象,我想让我的相对坐标回来,以便我可以使用set_axes(左侧,底部宽度和高度再次)来重新定位它们我的轴。

是否有将Bbox转换为我需要的格式,或者强制get_position()方法吐出相对坐标?

[0.1,0.2,0.3,0.4]

1 个答案:

答案 0 :(得分:1)

该数字的add_axes方法将rect

作为参数
  

add_axes(*args, **kwargs)
  在位置rect [left, bottom, width, height]

添加轴

axes.get_position() 返回BBox个对象。从its documentation可以看出,这是一个属性

  

bounds
  (property)返回(x0, y0, width, height)

因此你想打电话

ax.get_position().bounds

获取轴矩形的边界。