来自:龙哥盟飞龙

变换教程

像任何图形包一样,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时会深入。

matplotlib.transforms的更多相关文章

  1. Getting the pixel coordinates of text or ticks in matplotlib

    The exact pixel coordinates of title, labels, legends or ticks are important information for the tra ...

  2. python使用matplotlib绘制折线图教程

    Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...

  3. python 数据可视化(matplotlib)

    matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...

  4. 绘图:Matplotlib

    用于绘制一些数据图,同学推荐的,挺好用.非常好的官网文档:http://matplotlib.org/contents.html 0. 安装 可以直接pip install,还有一些依赖就按照提示来吧 ...

  5. 基于matplotlib的数据可视化 -

    matplotlib.pyplot(as mp or as plt)提供基于python语言的绘图函数 引用方式: import matplotlib.pyplot as mp / as plt 本章 ...

  6. Matplotlib API汉化

    Pyplot API 示例汇总:https://matplotlib.org/gallery/index.html#api-examples 该matplotlib.pyplot模块包含的功能允许您快 ...

  7. 1.4 Matplotlib:绘图

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...

  8. matplotlib作图——plot() 线图

    线图 #定义 matplotlib.pyplot.plot() plot([x], y, [fmt], data=None, **kwargs) plot([x], y, [fmt], [x2], y ...

  9. Python之matplotlib库

    知识结构 pyplot.plot()流程 1. _axes.py中plot()函数说明 a. 调用说明 plot([x], y, [fmt], data=None, **kwargs)       p ...

随机推荐

  1. 关于js的日期处理

    1.日期转换(Date)方法一:String变为Date var t = "2015-03-16";var array =  t.split("-");var ...

  2. MyBatis中#{ }和${ }的区别,数据库优化遵循层次和查询方法

    MyBatis中#{ }和${ }的区别详解 1.#将传入的数据当成一个字符串,会对自动传入的数据加一个 双引号. 例如order by #id#,如果传入的值是111,那么解析成sql时变为orde ...

  3. PHP中array_map与array_column之间的关系分析

    array_map()与array_column()用法如下: array_map();将回调函数作用到给定数组的单元上array_column();快速实现:将二维数组转为一维数组 array_co ...

  4. Pycharm小技巧

    Pycharm专业版2017.3及以上 Python2.7.x及以上 补全与高亮 在创建python2.7,django1.10的项目时,碰到html代码不补全也不高亮的问题,解决思路如下: # 依次 ...

  5. Examples of Scikit-learn Usages

    Examples of Scikit-learn Usages KFold K-折交叉验证 >>> import numpy as np >>> from skle ...

  6. UI自动化(一)html基础

    前端的三把利器 HTML:赤裸的一个人 CSS:华丽的衣服 JS/JavaScript:赋予这个人的行为,也就是动起来 DOM 就是将页面变成可操 HTML(超文本标记语言) html代码实际上就是一 ...

  7. Codeforces 37D Lesson Timetable - 组合数学 - 动态规划

    题目传送门 神奇的门I 神奇的门II 题目大意 有$n$组学生要上课2次课,有$m$个教室,编号为$1$到$m$.要确定有多少种不同的安排上课的教室的方案(每组学生都是本质不同的),使得它们满足: 每 ...

  8. Bootstrap3基础 dropdown divider 下拉列表中的分割线

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  9. MongDB 数据库使用技巧及注意事项

    说明 本文记录MongoDB数据库的使用技巧总结,特性发现. 利用TTL特性实现数据定时删除 限制: 你不能创建TTL索引,如果要索引的字段已经在其他索引中使用. 索引不能包含多个字段. 索引的字段必 ...

  10. Docker 入门指南——资源工具篇

    好工具 dive wagoodman/dive A tool for exploring each layer in a docker image 参考 用 Dive 看 Docker Image 裡 ...