Matplotlib - 变换


matplotlib 包构建在转换框架之上,可以轻松地在坐标系之间移动。可以使用四个坐标系。下表简要描述了这些系统 -

协调 变换对象 描述
数据 ax.transData

用户土地数据坐标系。由 xlim 和 ylim 控制

轴.transAxes

轴的坐标系。(0,0) 是轴的左下角,(1,1) 是轴的右上角。

数字 Fig.trans图

图形的坐标系。(0,0) 是图的左下角,(1,1) 是图的右上角

展示 没有任何

这是显示器的像素坐标系。(0,0) 是显示的左下角,(宽度, 高度) 是显示的右上角(以像素为单位)。

或者,可以使用(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。

将文本放置在坐标区中时,坐标区坐标系非常有用。您可能经常希望文本气泡位于固定位置;例如,在轴窗格的左上角,并在平移或缩放时保持该位置固定。