Matplotlib 转换
matplotlib 包建立在一个转换框架之上,可以轻松地在坐标系之间进行转换。可使用四个坐标系。下表简要描述了这些系统。
坐标系 | 变换对象 | 描述 |
---|---|---|
数据 | ax.transData | 用户定义的数据坐标系,由xlim和ylim控制 |
坐标轴 | ax.transAxes | 坐标轴的坐标系。左下角为(0,0),右上角为(1,1) |
图形 | fig.transFigure | 图形的坐标系。左下角为(0,0),右上角为(1,1) |
考虑以下示例−
axes.text(x,y,"my label")
文本被置于数据点(x,y)的理论位置上。因此,我们将其称为“数据坐标”。
使用其他变换对象可以控制其位置。例如,如果要将上面的测试放置在坐标系的中心位置,执行以下代码行:
axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)
这些转换可以用于任何类型的Matplotlib对象。对于 ax.text ,默认转换是 ax.transData ,对于 fig.text ,默认转换是 fig.transFigure 。
当在轴中放置文本时,轴坐标系非常有用。您可能经常想要在固定位置放置一个文本气泡;例如,在轴窗格的左上角,并且在平移或缩放时该位置保持固定。