Matplotlib - 变换
matplotlib 包构建在一个转换框架之上,可以轻松地在坐标系之间移动。 可以使用四个坐标系统。 这些系统在下表中进行了简要描述 −
坐标 | 转换对象 | 说明 |
---|---|---|
Data | ax.transData | 用户陆地数据坐标系统。 由 xlim 和 ylim 控制 |
Axes | ax.transAxes | axes 坐标轴的坐标系。 (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坐标系的中心,执行下面这行代码 −
axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)
这些转换可用于任何类型的 Matplotlib 对象。 ax.text 的默认转换是 ax.transData,fig.text 的默认转换是 fig.transFigure。
在坐标轴中放置文本时,坐标轴坐标系非常有用。 您可能经常需要在固定位置放置文本气泡; 例如,在坐标区窗格的左上角,并在平移或缩放时使该位置保持固定。