Matplotlib 3.0 可视化工具强势来袭!
Matplotlib 3.0来了!新版Matplotlib已能通过PyPI安装了,不过,这一版本只支持python 3,Python 2死忠还得继续用2.2.x版本。
作为最热门的Python 2D绘图工具之一,你看到的论文、教程里,有不少插图出自它手。
3.0版总共有16项变化:
改进了默认后端选择
现在,内置后端在运行时按顺序尝试,直到导入了其中一个为止,不再要求默认后端必须作为构建过程的一部分来设置。
无头Linux服务器(由未定义的DISPLAY env来标识)不会选择GUI后端。
新的循环调色板
添加了两种新调色板:twilight和twilight_shifted。它们都以相同的颜色开始、结束,每个调色板的两半是对称的,亮度相同颜色不同。
因为是循环的,所以它们很适合用在相位角、罗盘方向、一天中的时间等循环数据来上。
能按固定的数量级缩放轴
想要实现这个功能,需要为scilimits参数Axes.ticklabel_format
设置相同的非零上限和下限。
比如说,要把y轴缩放100万倍(1e6),代码是这样的:
ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')
scilimits=(0, 0)
的行为还和原来一样,Matplotlib会根据轴上的数值来调整数量级,不让它保持固定。以前,设置scilimits=(m, m)
和设置scilimits=(0, 0)
是一样的。
为mpl_toolkits新增AnchoredDirectionArrows
AnchoredDirectionArrows
是一个新增的mpl_toolkits类,它能绘制一对正交箭头,在2D图表上指示方向。
有几个可选参数能改变布局,比如旋转箭头、改变颜色等等,箭头的头尾两部分长度、位置、宽度都能调整。
彩条能准确显示次要刻度线了
新增了colorbar.Colobar.minorticks_on()
方法(method),用来正确显示彩条上的次要刻度标记;与之相对的colorbar.Colobar.minorticks_off()
,可以移除次要刻度。
自动处理颜色条上的标记
以前,在大号彩条上加了标记(比如次要刻度线)之后,缩小彩条,标记就看起来很恐怖。
现在,标记的数量可以随着彩条大小响应式变化了。
不再自动给重名文件改名
以前,用GUI的保存对话框来保存图表文件时,如果它和磁盘上已有文件重名,Matplotlib会自动加个后缀。
现在,遇到重名的情况,Matplotlib会提示用户,询问是否覆盖。
可以设置图例标题字号了
现在,可以通过title_fontsize
这个kwarg来设置Figure.legend和Axes.legend的字号了,还新增了一个rcParams["legend.title_fontsize"]
。
二者的默认值都是None,也就是说图例标题和轴标题的默认字号是相同的。
注意:是图例标题,不是图例本身。
rcParams支持用markevery设置axes.prop_cycle属性
Matplotlib里的rcParams
设置对象,现在支持通过用markevery
Line2D对象property的循环器来配置axes.prop_cycle
属性(attribute)。
pgf后端支持多页PDF
默认饼图终于圆了
这是一个重大进步。(正经脸.jpg)
以前,Matplotlib的一大槽点就是饼图都是蛋形的。如果你还想调回原来的默认蛋型饼图,可以用ax.set_aspect("auto")
或者plt.axis("auto")
把纵横轴的比设为自动。
新增SubplotBase.get_gridspec
通过这种新方法,用户可以轻松获取gridspec。
轴标题不会再与x轴重叠了
以前,如果轴标题与x轴重叠,需要手动调整。
现在,如果x轴在顶部,轴标题会自动移到它上方。用户想手动调整标题位置依然可以,不过有个小问题:不能放在默认的位置,放了系统就会自动移开。如果非要放,可以选一个接近的数字。比如说,ax.title.set_position(0.5, 1.0)
就会被自动移开,改成ax.title.set_position(0.5, 1.01)
就可以了。
GridSpec有了新便捷方法
现在,gridspec.GridSpec
和gridspec.GridSpecFromSubplotSpec
都有了便捷新方法,可以分别用Figure.add_gridspec
和SubplotSpec.subgridspec
替代。
Figure有了add_artist方法
Figure
类新增了add_artist
方法,可以直接用artist和figure相加。例如:
:math:指令重命名为:mathmpl:
matplotlib.sphinxext.mathmpl
提供的第:math:
个角色已经重命名为:mathmpl:
,避免了和Sphinx 1.9默认提供的:math:
冲突。
当使用1.8以下版本的Sphinx,:math:
和:mathmpl:
都能反向兼容。
传送门
安装Matplotlib和依赖项,用这两行代码:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
为Java项目添加slf4j的log日志
我们今天要给之前编码的一个maven的web项目提供slf4j的日志,这样所有的日志信息可以显示到项目的某个目录的log文件中。项目的样子如下图:首先配置pom,我也不知道下面的内容是否必要 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.10.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> &...
- 下一篇
周大侠啊 进击的 JavaScript(二) 之 数据结构
原文链接:周大侠啊 进击的 JavaScript(二) 之 数据结构 这东西还是很重要的,你要是搞懂了,就会去除很多困惑,比如不知道大家在学习js 的时候,有没有对 基础类型 和 引用类型 感到困惑过,两者之间 表现的不同之处。 js 不同其他编程语言,它是脚本语言。所以,它的数据结构严格意义上是不存在的,但是还是可以简单的归纳为三种结构,分别为 堆、栈、队列。 一、栈(stack) 它的特征就是:先进后出,自动分配内存,占据固定大小的空间,会自动释放。 二、堆(heap) 它的特征就是:动态分配的内存,大小不定也不会自动释放。js的垃圾回收器,进行回收。 三、队列(queue) 它的特征就是:先进先出,就跟你排队上公交一样,谁先来的,谁先上。(说插队的那位同学,我不跟你抬杠 (— 。 ——))。 它理解 事件循环Event Loop 的基础。 四、基本类型和引用类型与堆栈 (1)、栈(stack) 和 基本类型 基本类型:Undefined、Null、Boolean、Number 和 String,它们的值就存放在栈(stack)内存中,数据大小确定,内存空间大小可以分配。 栈中存放...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题