社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

36大数据 • 6 年前 • 997 次点击  

本文来源:公众号python数据之道


前言

本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解。

pycon 2017的相关演讲主题是“The Python Visualization Landscape”。


先来一张全景图镇楼~~

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


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


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了。


 End 


你投稿,我送书


为了让大家能有更多的好文章可以阅读,36大数据联合华章图书共同推出「祈文奖励计划」,该计划将奖励每个月对大数据行业贡献(翻译or投稿)最多的用户中选出最前面的10名小伙伴,统一送出华章图书邮递最新计算机图书一本。投稿邮箱:dashuju36@qq.com

点击查看:你投稿,我送书,「祈文奖励计划」活动详情>>>


阅读排行榜/精华推荐
1
入门学习

如果有人质疑大数据?不妨把这两个视频转给他 

视频:大数据到底是什么 都说干大数据挣钱 1分钟告诉你都在干什么

人人都需要知道 关于大数据最常见的10个问题

2
进阶修炼

从底层到应用,那些数据人的必备技能

如何高效地学好 R?

一个程序员怎样才算精通Python?

3
数据源爬取/收集

排名前50的开源Web爬虫用于数据挖掘

33款可用来抓数据的开源爬虫软件工具

在中国我们如何收集数据?全球数据收集大教程

4
干货教程

PPT:数据可视化,到底该用什么软件来展示数据?

干货|电信运营商数据价值跨行业运营的现状与思考

大数据分析的集中化之路 建设银行大数据应用实践PPT

【实战PPT】看工商银行如何利用大数据洞察客户心声?              

六步,让你用Excel做出强大漂亮的数据地图

 数据商业的崛起 解密中国大数据第一股——国双

双11剁手幕后的阿里“黑科技” OceanBase/金融云架构/ODPS/dataV

金融行业大数据用户画像实践



讲述大数据在金融、电信、工业、商业、电子商务、网络游戏、移动互联网等多个领域的应用,以中立、客观、专业、可信赖的态度,多层次、多维度地影响着最广泛的大数据人群

36大数据

长按识别二维码,关注36大数据



搜索「36大数据」或输入36dsj.com查看更多内容。


投稿/商务/合作:dashuju36@qq.com



点击下方“阅读原文”查看更多

↓↓↓


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/9MV1ytwHW4
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2402
 
997 次点击