再好的数据,也离不开可视化 — David 9
最近David 9翻看以前收藏,发现一篇关于python可视化库的文章,现在忍不住想分享给大家。以下是改编和翻译:
从专注研究眼睛移动的GazeParser项目到可视化神经网络实时训练的pastalog项目,优秀的python可视化的项目非常多,是时候我们总结一下10个超实用的python可视化库,相信总有一款适合你~ 而且,这些库可以在jupyter python notebook中直接运行显示。
matplotlib
上图是两个柱状图 (matplotlib)
matplotlib 是经典老牌的Python数据可视化库了。在Python社区里几乎无人不知。而且它模仿了1980年代的MATLAB可视化库。
又因为matplotlib是第一个Python数据可视化库,许多优秀的可视化库是基于matplotlib的,比如 pandas 和 Seaborn。
正像Chris Moffitt在他的文章里说的。matplotlib虽然很经典,但是其复杂和老式的样式也被人们诟病。不过,在 matplotlib 2.0 似乎在样式上做出了一些改变。
更多相关资料请阅读: matplotlib.org
Seaborn
Seaborn 是基于matplotlib的,关键不同在于它的样式美化过,而且更现代。
更多相关资料请阅读:http://web.stanford.edu/~mwaskom/software/seaborn/index.html
ggplot
图片来自:http://ggplot.yhathq.com/
ggplot是基于ggplot2, ggplot2是一个R语言作图系统。汲取The Grammar of Graphics书中的思想. ggplot 和matplotlib的作图方式不同,它是把元素一层一层地画在画布上(坐标轴,点,线等等)。而不是像matplot画x轴其实是把x轴属性设置一下而已。
根据作者讲述, ggplot 不适用于复杂作图,而适用于简单作图。
ggplot 和pandas结合的很好,所以如果要用ggplot画图,把数据存在DataFrame里是个好选择。
更多相关资料请阅读: http://ggplot.yhathq.com/
Bokeh
三个城市的天气数据来自:Continuum Analytics
像ggplot一样,Bokeh也是汲取The Grammar of Graphics书中的思想,但是与ggplot不同的是,它是用Python写的,不是接R语言的。Bokeh优势在于和HTML,JSON应用结合的很好。而且对于流处理和实时数据支持的很好。
Bokeh 支持高,中,低三种接口。最高级的接口可以直接用来话柱状图,盒图,线图,等等,只要你给JSON数据就行了。下一级接口有点像matplotlib,你要自己把图中的组件画出来。最底层的接口是专门给开发者的,这就给了你很多自定义的能力。
更多相关资料请阅读: http://bokeh.pydata.org/en/latest/
pygal
与Bokeh和Plotly一样, pygal 也支持在浏览器中作出交互图。最大的不同是:它可以画出SVG图。只要数据量不大,SVG作图不会有太大问题,如果数据量大,就不一定了。
更多相关资料请阅读: http://www.pygal.org/en/latest/index.html
Plotly
线状图来自 https://plot.ly/python/line-charts/
也许你不知道plotly除了在网页中大有作为,还可以在python notebook中使用。和Bokeh一样,plotly的特色就是提供可交换的作图,而且它有许多少有的作图方式:康拓图, 树枝型结构图, and 3D 图.
更多相关资料请阅读: https://plot.ly/python/
geoplotlib
等值区域图来自: https://github.com/andrea-cuttone/geoplotlib
geoplotlib是用来画地图的。可以用来画等值区域图,热图,密度图等等。在使用前你必须先安装Pyglet(一个基于对象的编程接口)。
更多相关资料请阅读: https://github.com/andrea-cuttone/geoplotlib
Gleam
散点图和趋势线来自: https://github.com/dgrtwo/gleam
Gleam是受R语言Shiny包启发的库。 你无需有HTML,CSS或者Javascript的知识,只需要懂Python就足够了。
更多相关资料请阅读: https://github.com/dgrtwo/gleam
missingno
无效矩阵来自: https://github.com/ResidentMario/missingno#matrix
missingno帮助你可视化你的数据完整性,有哪些数据是缺失的,一目了然。你也可以选择热进图或者树枝分叉图来做你喜欢的表现样式。
更多相关资料请阅读: https://github.com/ResidentMario/missingno
Leather
来自: (http://leather.readthedocs.io/en/latest/examples.html#with-consistent-scales)
Leather被设计成支持所有数据类型,并且生成SVG图。这个库比较新,但是基础的功能都有。
更多相关资料请阅读: http://leather.readthedocs.io/en/latest/index.html
其他好的数据可视化文章:
- One Chart, Twelve Charting Libraries (Lisa Charlotte Rost)
- Overview of Python Visualization Tools (Practical Business Python)
- Python data visualization: Comparing 7 tools (Dataquest.io)
改编翻译自:10 Useful Python Data Visualization Libraries for Any Discipline
本文章属于“David 9的博客”原创,如需转载,请联系微信: david9ml,或邮箱:yanchao727@gmail.com
David 9
Latest posts by David 9 (see all)
- 修订特征已经变得切实可行, “特征矫正工程”是否会成为潮流? - 27 3 月, 2024
- 量子计算系列#2 : 量子机器学习与量子深度学习补充资料,QML,QeML,QaML - 29 2 月, 2024
- “现象意识”#2:用白盒的视角研究意识和大脑,会是什么景象?微意识,主体感,超心智,意识中层理论 - 16 2 月, 2024