想当年我自学Python画图的时候,总是被各种包啊库啊搞得晕头转向。

坦白说,学习Python的可视化,就是掌握几个专用画图包的过程。

目前Python最重要的画图包包括matplotlib、seaborn、pyecharts和turtle。其中前面三个面向数据可视化开发,是重点学习的对象。而turtle的画图功能可能过于灵活,对于数据可视化一般是用不上的。

matplotlib:参考了R语言的ggplot2开发,比较低级,因此用户的自定义程度非常高。另外seaborn和pandas的画图函数(df.plot())调用的其实是matplotlib画图包。所以说seaborn和pandas的画图功能,是建立在matplotlib包的基础之上。

pyecharts:主要用于数据动态展示,界面酷炫功能强大,“是一个用于生成 Echarts 图表的类库。Echarts是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行对接,方便在 Python 中直接使用数据生成图”。该库由国人开发并维护,并且说明文档也是中文的(有点像tushare和baostock)。

pandas:这里既然提到了pandas,我们就要好好说说它。新版本的pandas其实开发出了相当多新的画图函数,这些画图函数通常基于之前那些常用的Python画图包。另外,pandas还重现了R语言中的ggplot包的画图功能(通过ggplot函数)。总的说来,pandas从0.25.3版之后,都可以把Plotly、Holoviews、Matplotlib、Pandas _bokeh和Hyplot当成自己的画图后端进行调用。

此外,Python的画图包还包括Bokeh、Plotly、Pygal和Networkx(基于matplotlib),它们的功能还各有所长。但是,对于初学者或者大部分用户,熟练掌握matplotlib、seaborn、pyecharts和新版的pandas已经足够应付数据可视化的大部分需求。

有针对性地学习Python画图包的使用,可以大大提高我们学习的效率,少走弯路~!

接下来,根据本人的自学经验,给大家介绍几本Python画图包介绍得比较好的书籍。

先帮京东免费做个双12的广告(全场自营满400-250):

简介:用matplotlib绘制各种高级图形:几何图形、组合图形、3D图形、交互图形、地图、动画;matplotlib的不同应用方向和具体实现方法。

点评:深度介绍matplotlib,案例丰富。还顺便介绍了爬虫的requests库和plotly画图包的使用。

下面的两本书是介绍国产酷炫互动式画图包pyecharts的:

简介:以某电商企业数据为基础,以案例为主线,从0到1,教你用专业的方法展现数据之美

简介:系统性地介绍Python 的绘图语法系统,包括matplotlib、Seaborn、plotnine 包,以及用于地理空间数据可视化的Basemap 包。介绍了常见的二维和三维图表的绘制方法,包括简单的柱形图系列、条形图系列、折线图系列、地图系列等。

点评:这本书在京东Python数据可视化销量排名第一。如果只推荐一本书,要短期内学会用Python画图的话,那就非他莫属了。这个作者还精通R和Excel的画图,可谓是统计软件可视化的顶尖行家。

点评:这本书写的很有意思。首先主要介绍的是pandas!也就是如何在pandas中引用其他画图包进行画图。其次,这个书对很多小细节都有详尽的介绍,比如解释pandas数据框索引“iloc = integer + location”。这实在很nice啊有木有。这也是个人最最喜欢的写作风格!

简介:《Python数据可视化》介绍了利用Python实现数据可视化。并介绍了数据、信息与知识之间的关系。书中涉及的可视化过程应用了大量流行的Python库,你会学到采用Numpy、Scipy、IPython、MatPotLib、Pandas、Patsy和Scikit-Learn等生成可视化结果的不同方法。

点评:这本书我还没看过纸质版。只是看了介绍我就决定买了——居然有人教用NumPy和SciPy画图的,想必讲解的东西一定非常底层。趁今天双12,拿下。

介绍:基于Bokeh的可视化绘图。从图形绘制、数据动态展示、Web交互等维度全面讲解Bokeh功能和使用,不含复杂数据处理和算法,深入浅出,适合零基础入门,包含大量案例。

点评:据说在Github上,Bokeh项目的star已经超越了matplotlib?所以有兴趣的朋友,可以买来看看。如果预算不足,建议还是好好学matplotlib,毕竟matplotlib无处不在啊。

点评:好家伙,这本书叫图形编程,还不是用包画图。这本书介绍的知识完全就是计算机图形学的范畴,和刚才那本NumPy和SciPy类似,是更底层的函数画图。

最后,图想要画得好,数据也得好好搞。没有整理好的数据,何来画图的素材?所以这里隆重推荐两三本Python数据分析的顶尖作品。其实这些书籍多多少少也覆盖了可视化的知识点,对于那些想数据分析和一起学习的朋友,买这种书其实一举两得,更划算呢。

最后,来一本压轴的。豆瓣9.3分的奇书。

写在最后:其实书不用多买。这上面那么多本书里面,随便挑一本专门讲可视化的书学精学透,应付一般的工作和科研是没有问题的。在有一定知识的基础上,再去拓展其它可视化技能也就是触类旁通的事情。

以上。