10个对所有学科都有用的Python数据可视化库

转自:
1、10 Useful Python Data Visualization Libraries for Any Discipline
2、10 Useful Python Data Visualization Libraries for Any Discipline
3、10个对所有学科都有用的Python数据可视化库

A great overview of 10 useful Python data visualization tools. It covers some of the big ones, like matplotlib and Seaborn, but also explores some more obscure libraries, like Gleam, Leather, and missingno.

浏览一下Python包索引你会发现无论要画什么图,都能找到相对的库——从适用于眼球移动研究的GazeParser,到用于可视化实时神经网络训练过程的pastalog。有许多库只完成非常特定的任务,也有许多可以用于更广泛的领域。

今天我们会介绍一下10个适用于多个学科的Python数据可视化库,其中有名气很大的也有鲜为人知的。在这里我们提醒一下大家如果想轻松的在本地运行Python,可以使用Mode Python Notebooks

matplotlib

这里写图片描述
两个直方图(matplotilib)

matplotlib 是Python可视化程序库的泰斗。经过十几年它仍然是Python使用者最常用的画图库。它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。

由于 matplotlib 是第一个 Python 可视化程序库,有许多别的程序库都是建立在它的基础上或者直接调用它。比如pandasSeaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。

虽然用matplotlib可以很方便的得到数据的大致信息,但是如果要更快捷简单地制作可供发表的图表就不那么容易了。就像Chris Moffitt 在“Python可视化工具简介”中提到的一样:“功能非常强大,也非常复杂。”

matplotlib 那有着强烈九十年代气息的默认作图风格也是被吐槽多年。即将发行的matplotlib 2.0 号称会包含许多更时尚的风格。

开发者:John D. Hunter, 资源:Mode
更多资料:matplotlib.org

Try matplotlib in Mode.

Seaborn

这里写图片描述
Violinplot (Michael Waskom)

Seaborn利用了matplotlib,用简洁的代码来制作好看的图表。Seaborn跟matplotlib最大的区别就是它的默认绘图风格和色彩搭配都具有现代美感。由于Seaborn是构建在matplotlib的基础上的,你需要了解matplotlib从而来调整Seaborn的默认参数。

开发者: Michael Waskom, 资源 Mode
更多资料: http://web.stanford.edu/~mwaskom/software/seaborn/index.html

Try Seaborn in Mode.

ggplot

这里写图片描述
Small multiples (ŷhat)

ggplot 基于R的一个作图包 ggplot2, 同时利用了源于 《图像语法》(The Grammar of Graphics)中的概念。ggplot 跟 matplotlib 的不同之处是它允许你叠加不同的图层来完成一幅图。比如你可以从轴开始,然后加上点,加上线,趋势线等等。虽然《图像语法》得到了“接近思维过程”的作图方法的好评,但是习惯了matplotlib的用户可能需要一些时间来适应这个新思维方式。

ggplot的作者提到 ggplot 并不适用于制作非常个性化的图像。它为了操作的简洁而牺牲了图像复杂度。

ggplot is tightly integrated with pandas, so it’s best to store your data in a DataFrame when using ggplot.

ggplot跟pandas的整合度非常高,所以当你使用它的时候,最好将你的数据读成 DataFrame。

开发者: ŷhat
更多资料: http://ggplot.yhathq.com/

Bokeh

这里写图片描述
Interactive weather statistics for three cities (Continuum Analytics)

跟ggplot一样, Bokeh 也是基于《图形语法》的概念。但是跟ggplot不一样的是,它完全基于Python而不是从R引用过来的。它的长处在于它能用于制作可交互,可直接用于网络的图表。图表可以输出为JSON对象,HTML文档或者可交互的网络应用。Boken也支持数据流和实时数据。

Bokeh为不同的用户提供了三种控制水平。最高的控制水平用于快速制图,主要用于制作常用图像, 例如柱状图,盒状图,直方图。中等控制水平跟matplotlib一样允许你控制图像的基本元素(例如分布图中的点)。最低的控制水平主要面向开发人员和软件工程师。它没有默认值,你得定义图表的每一个元素。

开发者: Continuum Analytics
更多资料: http://bokeh.pydata.org/en/latest/

pygal

这里写图片描述
Box plot (Florian Mounier)

pygal 跟 Bokeh 和 Plotly 一样,提供可直接嵌入网络浏览器的可交互图像。跟其他两者的主要区别在于它可以将图表输出为SVG格式。如果你的数据量相对小,SVG就够用了。但是如果你有成百上千的数据点,SVG的渲染过程会变得很慢。

由于所有的图表都被封装成了方法,而且默认的风格也很漂亮,用几行代码就可以很容易地制作出漂亮的图表。

开发者: Florian Mounier
更多资料: http://www.pygal.org/en/latest/index.html

Plotly

这里写图片描述
Line plot (Plotly)

你也许听说过在线制图工具Plotly,但是你知道你可以通过Python notebook使用它么?Plotly 跟 Bokeh 一样致力于交互图表的制作,但是它提供在别的库中很难找到的几种图表类型,比如等值线图树形图三维图表

开发者: Plotly, 资源 Mode
更多资料: https://plot.ly/python/

Try Plotly in Mode.

geoplotlib

这里写图片描述
Choropleth (Andrea Cuttone)

geoplotlib 是一个用于制作地图和地理相关数据的工具箱。你可以用它来制作多种地图,比如等值区域图, 热度图,点密度图。你必须安装 Pyglet (一个面向对象编程接口)来使用geoplotlib。 不过因为大部分Python的可视化工具不提供地图,有一个专职画地图的工具也是挺方便的。

开发者: Andrea Cuttone
更多资料: https://github.com/andrea-cuttone/geoplotlib

Gleam

这里写图片描述
Scatter plot with trend line (David Robinson)

Gleam 借用了R中 Shiny 的灵感。 它允许你只利用 Python 程序将你的分析变成可交互的网络应用,你不需要会用HTML CSS 或者 JaveScript。Gleam 可以使用任何一种 Python 的可视化库。当你创建一个图表的时候,你可以在上面加上一个域,这样用户可以用它来对数据排序和过滤了。

开发者: David Robinson
更多资料: https://github.com/dgrtwo/gleam

missingno

这里写图片描述
Nullity matrix (Aleksey Bilogur)

缺失数据是永远的痛。missingno 用图像的方式让你能够快速评估数据缺失的情况,而不是在数据表里面步履维艰。你可以根据数据的完整度对数据进行排序或过滤,或者根据热度图或树状图来考虑对数据进行修正。

开发者: Aleksey Bilogur
更多资料: https://github.com/ResidentMario/missingno

Leather

这里写图片描述
Chart grid with consistent scales (Christopher Groskopf)

Leather的最佳定义来自它的作者 Christopher Groskopf:“Leather 适用于现在就需要一个图表并且对图表是不是完美并不在乎的人。”它可以用于所以的数据类型然后生成SVG图像,这样在你调整图像大小的时候就不会损失图像质量。这个库很新,一些文档还没有最后完成。图像成品非常基础——但是这就是设计目标。

开发者: Christopher Groskopf
更多资料: http://leather.readthedocs.io/en/latest/index.html

更多关于 Python 可视化工具的精彩文章

网络上有许多关于 Python 可视化工具的评测,下面是推荐文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值