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 。
当在你的坐标轴中放置文本时,坐标轴系统是非常有用的。你可能经常希望在一个固定的位置上有一个文本气泡;例如,在轴窗格的左上方,当你平移或缩放时,这个位置保持固定。