最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

Pycon 2017: Python可视化库大全

[复制链接]
跳转到指定楼层
楼主
发表于 2017-6-23 11:54:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本文首发于微信公众号“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库的缺点进行改进,从而衍生出一系列的可视化库。
基于matplotlib的库概览如下:


下面介绍两个重要的基于matplotlib的第三方库:pandas以及seaborn
Pandas
可能我们平时使用pandas时更多的是用来进行数据分析和处理,其实pandas也提供了较为简单的API来进行图形绘制。
我个人一般是用pandas来处理数据,然后结合其他可视化库(如matplotlib,seaborn,bokeh等)来绘图图形。
Pandas部分绘图实例如下:


seaborn
Seaborn是基于matplotlib的Python可视化库。它提供了一个高级别接口用于图形绘制。
Seaborn在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。
关于Searbon,微信公众号之前写过一篇关于热力图的介绍文章,有兴趣的可阅览下。Python可视化:Seaborn库热力图使用进阶
Seaborn部分绘图实例如下:




详细信息可在其官方网站查阅:
http://seaborn.pydata.org/
基于JavaScript的可视化库
两个受欢迎度较高的可视化库bokeh和plotly
bokeh
Bokeh (Bokeh.js) 是一个 Python 交互式可视化库,支持现代化Web浏览器,提供非常完美的展示功能。Bokeh 的目标是使用 D3.js样式提供优雅,简洁新颖的图形化风格,同时提供大型数据集的高性能交互功能。Boken 可以快速的创建交互式的绘图,仪表盘和数据应用。
关于bokeh,微信公众号之前写过的文章用应用过timeseries图,有兴趣的可阅览下。用Pandas获取商品期货价格并可视化
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了。

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-4 08:47

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表