matplotlib包构建在转换框架之上,可以在坐标系之间轻松移动。可以使用四个坐标系。这些系统在下表中简要描述 -
坐标 | 转换对象 | 描述 |
Data | ax.transData | 用户陆地数据坐标系,由xlim和ylim控制 |
Axes | ax.transAxes | 轴的坐标系。(0,0)在左下方,(1,1)在轴的右上方。 |
Figure | fig.transFigure | 图的坐标系。(0,0)在左下方,(1,1)在图的右上方 |
display | None | 这是显示器的像素坐标系。(0,0)是左下角,(宽度,高度)是显示的右上角(以像素为单位)。或者可以使用(matplotlib.transforms.IdentityTransform())代替None。 |
考虑以下示例 -
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.nhooo.com # Date : 2020-08-08 axes.text(x,y,"my label")
文本位于数据点(x,y)的理论位置。也称为“数据坐标”。使用其他转换对象,可以控制放置。例如,如果要将上述测试放在轴坐标系的中心,请执行以下代码行 -
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.nhooo.com # Date : 2020-08-08 axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)
这些转换可用于任何类型的Matplotlib对象。ax.text的默认转换是ax.transData,fig.text的默认转换是fig.transFigure。
在轴上放置文本时,轴坐标系非常有用。可能经常需要在固定位置使用文本气泡; 例如,在轴窗格的左上方,平移或缩放时该位置保持固定。