如果不想购买matlab,又想制作出matlab风格的图,那就选择matplotlib。这是一个完全免费的python第三方库,几乎提供matlab中所有绘图操作的对应接口。学会了这一款第三库之后,就可以随心所欲得可视化数据,绝对是生产力的体现。

在notebook或者终端环境下,由于与普通环境下GUI的不同,需要进行一些特殊的设置。



python pyplot多条曲线 matplotlib多条曲线_如何用matplotlib画直方图

matploblib配置



1. 曲线图和子图

用matplotlib来可视化曲线大概是最常用的操作,而在一张图中显示多个子图也是必不可少的需求。




python pyplot多条曲线 matplotlib多条曲线_如何用matplotlib画直方图_02

曲线图和子图



2. 散点图、极坐标图

曲线图叠加散点图会让数据点的位置更加清晰,更能吸引观察者的注意。极坐标图也会在一些场合需要用到,这里一并演示一下。




python pyplot多条曲线 matplotlib多条曲线_matplotlib 显示批量图片_03

散点图和极坐标图



3. 条形图、饼状图、直方图

在可视化统计数据时,条形图、饼状图、直方图是很直观的工具,无论在企业中还是在科研中,海量的数据总不可能一一看尽,而这是统计图就可以派上用场。




python pyplot多条曲线 matplotlib多条曲线_使用matplotlib画3d平面风场_04

条形图、饼状图、直方图



4. 设置图的基本属性

为了让画出的图更加美观,或者想要更加清晰地表达自己的意思,这时就需要对图的属性进行修改。比如调整线的颜色和样式,添加图例以及坐标轴的说明,还可以添加注解等等。




python pyplot多条曲线 matplotlib多条曲线_使用matplotlib画3d平面风场_05

设置图的基本属性



5. 等高线

在处理地理数据或者温度数据时,常常需要画等高线,以明确一些影响的范围。matplotlib当然也提供了这种操作。




python pyplot多条曲线 matplotlib多条曲线_使用matplotlib画3d平面风场_06

等高线



6. 3D图

对三维数据可视化的需求也是比较大的,比2d图多了一个维度自然表达也更加丰富。而且三维数据是我们能够直观视觉感受的最高维度,如果有更高维度的数据一般也是用各种方式简化到3d可视化。




python pyplot多条曲线 matplotlib多条曲线_如何利用matplotlib画直方图_07

3D图



7. 次坐标

在一个坐标中画出两种标度的数据可以让对比更加鲜明,特别是对一些发生相关联变化的关键点捕捉更加准确。




python pyplot多条曲线 matplotlib多条曲线_使用matplotlib画3d平面风场_08

次坐标



8. 保存和读取图片文件

有时画出的图可能要插入到论文中,有时要放进PPT,或者会做到视频demo中,等等不一而足的任务需要将绘制的图保存到文件。matplotlib可以保存普通的点阵图,也可以保存矢量图。如果要提升点阵图的分辨率还可以增加dpi。这里只演示最简单的保存图片和载入图片。




python pyplot多条曲线 matplotlib多条曲线_python pyplot多条曲线_09

保存和读取图片文件



matplotlib实在是太庞大了,在一篇文章中很难穷尽,毕竟它的文档就有上千页。这里只把最常用的一些功能和操作演示出来,大家就可以感受大其功能之强大。后续还有用basemap+matplotlib来绘制地图数据的讨论帖子也会制作出来。总而言之,matplotlib这款第三方的免费可视化工具会让你分析数据的能力可以看见。

本文的notebook版文件在github上公布,对于“matplotlib可视化”有问题的朋友可以在评论区留言,也可以在github上提交issue

github链接:https://github.com/cnbluegeek/notebook/tree/master/src