python可视化库可以大致分为几类:
- 基于matplotlib的可视化库
- 基于JS的可视化库
- 基于上述两者或其他组合功能的库
基于matplotlib的可视化库
matplotlib是python可视化库的基础。matplotlib库的设计参考了matlab,甚至连名称也是以“mat”开头。
matplotlib优点:
- 设计类似Matlab
- 很多渲染后端
- 几乎可以绘制任何图形
- 有长时间良好运行历史
缺点:
- 必须掌握API,其使用描述冗长
- 部分默认样式设计比较弱
- 对网页 及交互式绘图支持弱
- 数据量大时运行缓慢
后续开发者吸取了matplotlib库的优点,经过对matplotlib库的缺点进行改进,从而衍生出一系列的可视化库。
两个重要且常见的基于matplotlib的第三方库:
- Pandas:一般用于数据分析和处理,其实也提供较为简单的API绘制图形如pandas.tools.plotting
- Seaborn:matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。
基于JavaScript的可视化库
常用的两个基于JavaScript的可视化库:
- bokeh:Bokeh (Bokeh.js) 是一个 Python 交互式可视化库,支持现代化Web浏览器,提供非常完美的展示功能。Bokeh 的目标是使用 D3.js样式提供优雅,简洁新颖的图形化风格,同时提供大型数据集的高性能交互功能。详细Bokeh.js官网
- plotly:Plotly是另一个免费进行数据分析和绘制图表的APP,建立在d3.js上。 Plotly图可下载为SVG,EPS或PNG格式,并简单地导入到Illustrator或者Photoshop中。跟bokeh类似,也可以制作一些交互式的web图。详细plotly官网
其他综合类型库
- Holoviews:能够让用户构建有助于可视化的数据结构,而且它包含丰富的可组合元素库,可以覆盖、嵌套和轻松定位。同时,它还支持快速数据探索。Holoviews可以和Seaborn、pandas或者bokeh组合使用。
- Altair:Altairs起源于D3,但代码编写量要比D3简单。Altair 是 Python 高级声明式可视化库。Altair 提供一个 Python API 在声明式 manner 中构建静态统计可视化库。
再来看看python 可视化工具的全景图:
参考链接
- pythons-visualization-landscape-pycon-2017:本文基本来自这个ppt,内容非常清晰,强推!!!
- [資料分析&機器學習] 第2.5講:資料視覺化(Matplotlib, Seaborn, Plotly):主要介绍Matplotlib,Seaborn,Plotly
- Overview of Python Visualization Tools:介绍Pandas,Seaborn,ggplot,Bokeh,pygal,Plotly
- matplotlib官网
- seaborn官网
- Bokeh.js官网
- plotly官网