【干货】Pycon 2017: Python可视化库大全

简介:

看完这张图是不是有点懵?

别着急,我们一起来看看后面的阐述。

python可视化库可以大致分为几类:

  • 基于matplotlib的可视化库
  • 基于JS的可视化库
  • 基于上述两者或其他组合功能的库

基于matplotlib的可视化库

matplotlib是python可视化库的基础。matplotlib库的设计参考了matlab,甚至连名称也是以“mat”开头。

matplotlib库的一些优势:(翻译比较别扭,英文原文也附后)

  • 设计很像Matlab,容易进行转换(Designed like Matlab: switching was easy)
  • 有很多渲染后端(Many rendering backends)
  • 差不多可以绘制任何图(当然需要花费些努力)(Can reproduce just about any plot with a bit of effort)
  • 有长时间良好运行的历史 (Well-tested, standard tool for over a decade)

matplotlib库的一些缺点:

  • 必须要掌握API,且描述较为冗长(API is imperative & often overly berbose)
  • 有时候默认的样式设计比较弱(Sometimes poor stylistic defaults)
  • 对网页以及交互式绘图的支持较弱(Poor support for web/interactive graphs)
  • 数据量大时经常运行较慢(Often slow for large & complicated data)

Matplotlib自2003年发布以来,使用情况还是呈现了良好的趋势:

Matplotlib部分绘图实例如下:

也因此,后续开发者都吸取了matplotlib库的优点,经过对matplotlib库的缺点进行改进,从而衍生出一系列的可视化库。

基于matplotlib的库概览如下:

下面介绍两个重要的基于matplotlib的第三方库:pandas以及seaborn

Pandas

可能我们平时使用pandas时更多的是用来进行数据分析和处理,其实pandas也提供了较为简单的API来进行图形绘制。

我个人一般是用pandas来处理数据,然后结合其他可视化库(如matplotlib,seaborn,bokeh等)来绘图图形。

Pandas部分绘图实例如下:

seaborn

Seaborn是基于matplotlib的Python可视化库。它提供了一个高级别接口用于图形绘制。

Seaborn在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。

Seaborn部分绘图实例如下:

   

详细信息可在其官方网站查阅:

http://seaborn.pydata.org/

基于JavaScript的可视化库

两个受欢迎度较高的可视化库 bokeh 和 plotly

bokeh

Bokeh (Bokeh.js) 是一个 Python 交互式可视化库,支持现代化Web浏览器,提供非常完美的展示功能。Bokeh 的目标是使用 D3.js样式提供优雅,简洁新颖的图形化风格,同时提供大型数据集的高性能交互功能。Boken 可以快速的创建交互式的绘图,仪表盘和数据应用。

bokeh部分绘图实例如下:

 

详细信息可在其官方网站查阅:

http://bokeh.pydata.org

plotly

Plotly是另一个免费进行数据分析和绘制图表的APP,建立在d3.js上。 Plotly图可下载为SVG,EPS或PNG格式,并简单地导入到Illustrator或者Photoshop中。

跟bokeh类似,也可以制作一些交互式的web图。

plotly部分绘图实例如下:

详细内容可以去官网参考:

https://plot.ly/python/

其他综合类型库

Holoviews

Holoviews能够让用户构建有助于可视化的数据结构,而且它包含丰富的可组合元素库,可以覆盖、嵌套和轻松定位。同时,它还支持快速数据探索。

Holoviews可以和Seaborn、pandas或者bokeh组合使用。

由于笔者还没具体了解过Holoviews的使用功能,这里将英文的描述直接放在下面,以免个人理解不准确而产生误导。

关于Holoviews的效果图,可参考下面动态图,建议观看原视频,效果会好点。

Altair

Altairs起源于D3,但代码编写量要比D3简单。这里有两幅对比的图如下:

用D3绘制的柱状图

用Altairs绘制的柱状图

Altair 是 Python 高级声明式可视化库。Altair 提供一个 Python API 在声明式 manner 中构建静态统计可视化库。

什么是声明式可视化库呢,不管是翻译成中文的名称还是看英文的名称,我都一脸懵圈。幸好,有英文的进一步描述,如下:

总的来说,Altairs让开发者们更专注于数据及他们之间的关系,而不是一些不重要的细节。

最后,再放上这张Python可视化的全景图,对于个人而言,不一定能全部熟悉使用,但是能熟练用好其中的一部分,实际应用于工作及项目中,也就OK了。

 

本文作者:LEMON

来源:51CTO

相关文章
|
12天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
1天前
|
Python 数据可视化 索引
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
14 0
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
|
1天前
|
存储 机器学习/深度学习 数据可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
39 6
|
1天前
|
机器学习/深度学习 数据可视化 算法
PYTHON用决策树分类预测糖尿病和可视化实例
PYTHON用决策树分类预测糖尿病和可视化实例
11 0
|
1天前
|
数据可视化 算法 Python
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
13 0
|
2天前
|
JSON API 数据格式
python的request库如何拿到json的返回值
python的request库如何拿到json的返回值
6 0
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
【python】双十一美妆数据分析可视化 [聚类分析/线性回归/支持向量机](代码+报告)【独一无二】
【python】双十一美妆数据分析可视化 [聚类分析/线性回归/支持向量机](代码+报告)【独一无二】
|
12天前
|
机器学习/深度学习 数据可视化 数据挖掘
利用Python进行数据分析与可视化:从入门到精通
本文将介绍如何使用Python语言进行数据分析与可视化,从基础概念到高级技巧一应俱全。通过学习本文,读者将掌握Python在数据处理、分析和可视化方面的核心技能,为实际项目应用打下坚实基础。
|
15天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
16天前
|
人工智能 监控 数据可视化
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】

热门文章

最新文章