大致浏览一下Python库索引,你将会看到几乎每个数据可视化需要的库,从用于眼动研究的GazeParser到用于神经网络训练的实时可视化的pastalog。虽然这些库中有很多库只能完成一些特定任务,但有些库可以应用于任何领域。
今天,我们将简要介绍10个跨学科的Python数据可视化库,从众所周知的到晦涩难懂的。我们注意到,使用Mode Python Notebooks可以轻松地在本地运行Python。
Matplotlib
[图片上传失败...(image-780652-1560929719260)]
两个直方图(matplotlib)
matplotlib是Python数据可视化库中的泰斗。尽管它已有十多年的历史,但它仍是Python使用者最广泛使用的绘画库。其设计与20世纪80年代开发的一种专有编程语言----MATLAB非常相似。
因为matplotlib是第一个Python数据可视化库,所以很多其它的库都是以其为基础构建的,亦或者在分析期间与其协同合作的。一些库,如pandas和Seaborn,都是对matplotlib的“包装器”,使我们能够用更少的代码以多种方式访问matplotlib。
尽管matplotlib有助于了解数据,但它对于快速、轻松地创建可发布的图表用处不大。正如Chris Moffitt在他的Python可视化工具的概述中所称,matplotlib“功能非常强大,但同时也很复杂”。
Matplotlib一直以来因其有着独特的90年代气息的默认风格饱受诟病。即将发布的matplotlib 2.0承诺会有很多新的风格来解决这个问题。
Seaborn
[图片上传失败...(image-daca6-1560929719260)]
Seaborn利用matplotlib的强大功能,几行代码就能创建漂亮的图表。其与matplotlib主要的区别是Seaborn的默认样式以及更美观、更现代的调色板设计。因为Seaborn建立在matplotlib之上,所以你需要了解matplotlib来调整Seaborn 的默认值。
更多资料:
ggplot
[图片上传失败...(image-295ca1-1560929719260)]
ggplot 是由基于R语言的绘图系统—ggplot2建立的,也是《图形语法》(The Grammar of Graphics)中的概念。Ggplot的操作与matplotlib不同:它允许你对组件进行分层以创建完整的绘图。例如,你可以从坐标轴开始,然后添加点,再添加线、趋势线等。尽管图形语法被誉为绘图的“直观”方法,但经验丰富的matplotlib用户可能需要时间来适应这种新的思维模式。
据创造者所说,ggplot不是为创建高度定制的图形而设计的。它为更简单的绘图方法牺牲了复杂性。
ggplot与pandas紧密集成,因此在使用ggplot时,最好将数据存储在数据帧中。
Bokeh
[图片上传失败...(image-49f14a-1560929719260)]
三个城市的交互式天气统计(连续分析)
和ggplot一样,Boken也是《图形语法》(The Grammar of Graphics)中的概念,但与ggplot不同的是,它完全基于Python,不是从R语言移植过来的。其优势在于能够创建交互式的、可直接用于网络的绘图,这些绘图可以很容易地输出为JSON 对象,HTML文档或交互式web应用程序。Bokeh还支持流媒体和实时数据。
Bokeh提供了三个具有不同控制级别的接口,以适应不同的用户类型。最高级别是快速创建图表。它包括创建常见图表的方法,如条形图、方框图和柱状图。中间层与matplotlib具有相同的特性,允许你控制每个图表的基本构建块(例如散点图中的点)。最底层面向开发人员和软件工程师。它没有预先设置的默认值,并且要求你定义图表的每个元素。
Pygal
[图片上传失败...(image-be5139-1560929719260)]
778570108 群里有志同道合的小伙伴,互帮互助。群里有视频学习教程和PDF,一起学习,共同进步!
加群免费获取数十套PDF资料,助力python学习
方框图
与Bokeh和Plotly一样,pygal提供了可以嵌入到Web浏览器中的交互式绘图。其主要区别在于能够将图表输出为SVG格式。只要你在处理较小的数据集,SVG就可以帮你做得很好。但是,如果你制作的图表中有数十万个数据点,它们将很难呈现,并且会变得迟钝。
由于每种图表类型都被包装成一个方法,并且内置的样式很漂亮,所以用几行代码就可以很容易地创建一个美观的图表。
Plotly
[图片上传失败...(image-9e1fef-1560929719259)]
折线图(Plotly)
你可能知道Plotly是一个用于数据可视化的在线平台,但你是否也知道可以从Python notebook 访问它的功能?和Bokeh 一样,Plotly的专长是制作交互式绘图,但它提供了一些在大多数库中找不到的图表,如等高线图,树状图和三维图表。
Geoplotlib
[图片上传失败...(image-ae7441-1560929719259)]
等值线图 (Andrea Cuttone)
geoplotlib是用于创建地图和绘制地理数据的工具箱。你可以用它来创建各种各样的地图类型,比如等值线图、热图和点密度地图。必须安装pyglet(一个面向对象编程接口),才能使用geoplotlib。尽管如此,由于大多数Python数据可视化库都不提供地图,所以最好有一个专门针对它们的库。
Gleam
[图片上传失败...(image-a38f40-1560929719259)]
趋势线散点图(David Robinson)
Gleam的灵感来自R语言的Shiny包。它允许你只使用Python脚本就可以将分析转化为交互式web应用程序,所以你不必了解任何其他语言,如HTML,CSS或JavaScript。Gleam可以使用任何Python数据可视化库。一旦创建了一个绘图,就可以在上面构建字段,这样用户就可以过滤和排序数据。
Missingno
[图片上传失败...(image-b22941-1560929719259)]
无效矩阵(Aleksey Bilogur)
处理丢失的数据是一件痛苦的事。missingno允许你通过直观的总结快速衡量数据集的完整性,而不是艰难地浏览表格。你可以根据热图或树形图中的完成度或点相关来过滤和排序数据。
Leather
[图片上传失败...(image-7513d2-1560929719258)]
带有一致比例的网格图 (Christopher Groskopf)
Leather的创建者Christopher Groskopf说的好:“Leather是一个为那些现在需要图表而不在乎是否完美的人设计的Python图表库”它可用于处理所有数据类型,然后生成SVG图像,这样你在调整图像大小时就不会损失图像质量。由于这个库相对较新,一些文档仍在编写中。你可以做的图表很基础,但这就是目的。
</article>
10个必会的python数据可视化库
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 总结了10个不同领域的 Python 数据可视化库,有常用的,也有比较小众的。 1. matplotlib mat...
- 「叶子姑娘自律100天挑战Day 17 【目标1】养成阅读习惯,阅读20本书 【目标2】体重控制在110斤,目前1...