Loading... Matplotlib 是一款轻量级的图形转换框架,它通过转换对象轻松地实现了数据坐标系、轴域坐标系、图形坐标系,以及显示坐标系四者之间的相互转换,由于这种转换是 Matplotlib 自动完成的,因此无需考虑其底层原理。 ## 坐标系转换对象 下面对四种坐标系做简单说明,其中`ax`代表轴域对象的实例;`fig`代表图形对象的实例。 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) 则显示右上角。注意,此处以像素 px 为单位。 | 转换对象作用就是在不同对象之间架起一座沟通的桥梁。输入一组数据最终以图像的形式显示,这个过程就是依靠转换对象来实现的。 上表中的 Data、Axes、Figure,这三个转换对象都可以接受一组数据,它们会将接受的数据转换到显示坐标系中,即 Display。在这个过程中,显示坐标系只是充当数据的接收者,因此显示坐标系不存在转换对象。 ## 示例说明 下面举一个简单的示例,现有文本“my text”放置在数据点 (x,y) 位置处: ```python axes.text(x,y,"my text") ``` 通过 Axes 转换对象,我们可以指定文本的位置。使用以下代码,将文本移动至在坐标系的中心位置: ```python axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes) ``` 最后修改:2023 年 07 月 17 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏