前言

本文主要摘录自 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部分绘图实例如下:

微信公众号中部分文章的案例可供参考。

用Pandas获取商品期货价格并可视化

python求职Top10城市,来看看是否有你所在的城市

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

关于视频

pycon 2017的相关演讲主题的视频在youtube上可观看,由于墙的缘故,部分童鞋可能不能观看视频。

python可视化这个视频,我已经下载下来,需要的童鞋可在微信公众号“Python数据之道”后台回复关键字获取视频,关键字如下:

“2017-024”(不含引号)

相关文章:

Python可视化:Seaborn库热力图使用进阶

python求职Top10城市,来看看是否有你所在的城市

关于matplotlib,你要的饼图在这里

用Pandas获取商品期货价格并可视化

Pycon 2017: Python可视化库大全相关推荐

  1. python常用代码大全-Python常用库大全

    Python常用库大全,看看有没有你需要的. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具 ...

  2. python代码库-Python常用库大全

    Python常用库大全,看看有没有你需要的. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具 ...

  3. 新视角带你认识Python可视化库(附代码资源)

    作者:Dan Saber 翻译:笪洁琼 校对:梁傅淇 本文约16196字,建议阅读20+分钟. 本文中,作者借助拟人化的形式,让Python中值得一提的可视化库共同出演了一出戏剧,形象.生动地展现了不 ...

  4. Python 可视化库

    https://www.infoq.cn/article/pSV6tZ1SbUC8qJpo_v8H 在奥斯汀举行的SciPy 2018年特别会议上,大量开源 Python 可视化工具的代表分享了他们对 ...

  5. python三维数据转换成二维_5大Python可视化库到底选哪个好?一篇文章搞定从选库到教学...

    最近和鲸社区的大佬们,竟不约而同地写起了可视化库的教程,开始了掰头 ※完整教程列表在文末附录 虽然对于我们这种吃瓜群众来说是件好事,但 大概大佬的快乐往往就是那么的朴实无华且枯燥吧.害,管他呢,赶紧拿 ...

  6. python拿什么做可视化界面好_5大Python可视化库到底选哪个好?一篇文章搞定从选库到教学...

    最近和鲸社区的大佬们,不约而同地写起了可视化库的教程 虽然对于我们这种吃瓜群众来说是件好事,但 大概大佬的快乐往往就是那么的朴实无华且枯燥吧.害,管他呢,赶紧拿出来给大家瞅瞅. 今天提及的5个Pyth ...

  7. 遇事不决,量子力学;不懂配色,赛博朋克。推荐一个Python可视化库

    遇事不决,量子力学;不懂配色,赛博朋克.推荐一个Python可视化库 12月10日,历经多次跳票后,波兰公司CD Projekt Red制作的<赛博朋克2077>终于正式发售,在Steam ...

  8. 【CSDN软件工程师能力认证学习精选】Python可视化库

    CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...

  9. python可视化库总结_Python 可视化库 - Matplotlib 使用总结

    Python 可视化库 - Matplotlib 使用总结 在做完数据分析后, 有时候需要将分析结果一目了然地展示出来, 此时便离不开 Python 可视化工具, Matplotlib 是 Pytho ...

  10. python修改文件名称唯美_5行代码搞定14种常见图的python可视化库,还自带16种优美主题,真是太喜欢了...

    原创:小dull鸟 python数据分析之禅 原文链接: 5行代码搞定14种常见图的python可视化库,还自带16种优美主题,真是太喜欢了​mp.weixin.qq.com 有时候我们做数据可视化并 ...

最新文章

  1. python编程案例教程答案-python编程案例教程pdf下载
  2. JS中 window.location.search的作用
  3. filegetcontents php 返回值,php – file_get_contents没有返回任何数据
  4. 王道考研 计算机网络16网络层功能 数据交换方式 电路交换 报文交换 分组交换 路由算法 OSPF RIP AS自治系统 IGP内部网关协议 EGP外部网关协议
  5. android ios 混合编程,React Native与原生(Android、iOS)混编,三端痛点解析
  6. java 正则表达式-忽略大小写与多行匹配
  7. 川菜中,你觉得哪道菜能称为“经典之菜”呢?
  8. 开源性能测试工具JMeter快速入门(二)
  9. CSS基本布局16例
  10. Golang的聊天服务器实践(群聊,广播)(一)
  11. JAVA随机数生成 | Math.random()方法 | 随机生成int、double类型
  12. 50道逻辑编程小题目
  13. Python实现快递分拣小程序(附源码和超详细注释)
  14. Shell中的幽灵王者—JAVAWEB 内存马 【认知篇】
  15. npm与cnpm详解
  16. jvm动态年龄计算规则以及为什么要这样做
  17. angularjs2.x 密码隐藏显示的实例
  18. 算法分析与设计:贪心算法实现最少硬币找钱问题(支付+找零共花费硬币数最少)
  19. Docker篇-Centos7 docker构建基础镜像(centos+jdk1.8+maven3+git)
  20. Flutter 3.X二维码扫描功能

热门文章

  1. 怎么讲计算机屏幕录制,电脑如何录制屏幕
  2. 农业物联网系统功能特点
  3. 微积分导论--Continuity
  4. 人工神经网络通俗解释
  5. 移动端APM网络监控与优化实践
  6. 一个复杂注塑件抽取中面一般操作
  7. java fx scen,很好的JavaFX2.0基础教程
  8. windows关闭休眠
  9. 解决SQL Server日志空间满的方法
  10. 关于围棋的基本功(转)