Matplotlib 变换
matplotlib 包建立在转换框架之上,可以轻松地在坐标系之间移动,可以使用四个坐标系。系统简述如下表:
协调 | 转换对象 | 描述 |
---|---|---|
Data | ax.transData | 用户土地数据坐标系。由 xlim 和 ylim 控制 |
Axes | ax.transAxes | 轴的坐标系。 (0,0) 是轴的左下角,(1,1) 是轴的右上角。 |
Figure | fig.transFigure | 图的坐标系。 (0,0) 是左下角,(1,1) 是右上角 |
display | None | 这是显示器的像素坐标系。 (0,0) 是左下角,(width, height) 是显示的右上角,以像素为单位。 或者,可以使用 (matplotlib.transforms.IdentityTransform()) 代替 None。 |
考虑下面的例子:
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。
当在你的坐标轴中放置文本时,坐标轴系统是非常有用的。
你可能经常希望在一个固定的位置上有一个文本气泡;例如,在轴窗格的左上方,当你平移或缩放时,这个位置保持固定。