matplotlib.transforms

来自:龙哥盟飞龙

变换教程

像任何图形包一样,matplotlib建立在变换框架之上,以便在坐标系,用户数据坐标系,轴域者坐标系,图形坐标系和显示坐标系之间轻易变换。在95%的绘图中,你不需要考虑这一点,因为他发生在背后,但随着你接近自定义图形生成的极限,它有助于理解这些对象,以便可以重用matplotlib提供给你的现有变换,或者创建自己的变换(见matplotlib.transforms)。下表总结现有的坐标系,你应该在该坐标系中使用的变换对象,以及该系统的描述。在变换对象一系列中,ax是Axes实例,fig是一个图形实例。

上表中的所有变换对象都接受以其坐标系为单位的输入,并将输入变换到显示坐标系。这就是为什么显示坐标系没有变换对象的原因,它已经以显示坐标为单位了。变换也知道如何反转自身,从显示返回自身的坐标系。 这在处理来自用户界面的事件(通常发生在显示空间中),并且你想知道数据坐标系中鼠标点击或按键按下的位置特别有用。

数据坐标

每当向轴域添加数据时,matplotlib会更新数据对象,set_xlim()和set_ylim()方法最常用于更新。例如,在下图中,数据的范围在x轴上为从0到10,在y轴上为从-1到1。

可以使用ax.transData实例将数据变换为显示坐标系,无论是单个点或是一系列点,如下所示:

可以使用inverted()方法创建一个变换,从显示坐标变换为数据坐标:

窗口大小或dpi设置不同,显示坐标的确切值可能会有所不同。同样,在下面的图形中,在ipython会话中,由显示标记的点可能并不相同,因为文档图形大小默认值是不同的。

当你更改轴的x或y的范围时,将更新数据范围,以便变换生成新的显示点。注意,当我们只是改变ylim,只有y显示坐标改变,当我们改变xlim也同理。我们在谈论Bbox时会深入。

 

转载于:https://www.cnblogs.com/keye/p/8681346.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值