现在的 Python 科学栈*成熟,里面有各种用途的数据库,包括机器学习和数据分析。数据可视化是数据分析流程中的一个重要部分。Python中除了matplotlib外还有哪些数据可视化的库?

过去几年,出现了许多新的用于可视化数据的 Python 库。在这些库里面,用的*广泛的是 matplotlib,但也有一些库,如 vispy,bokeh,seaborn,pygal,folium 和 networkx,它们大都建立在 matplotlib 上,有些还具有 matplotlib 所不支持的功能。

1. 基础2D及3D可视化

matplotlib:基于matlib开发的历史*久的python绘图包。功能强大。其具体架构可以参考链接。

seaborn:是基于matplotlib进行*封装之后的结果,语法更简单,但是功能相对不如matplotlib。seaborn更多针对统计学领域。

2.交互信息可视化数据分析的一个业务场景就是用数据讲故事,交互信息可视化的工具就在此凸显出了优势。

Bokeh: 是一个用于做浏览器端交互可视化的库,实现分析师与数据的交互。

Pyecharts

图片源于网络:侵删

Plotly: 同样也是做交互可视化的一把利器。Plotly同时支持Python和R语言,并且实现了在线导入数据做可视化并保存内容在云端server的功能。做演示的时候,只需要在本地的jupyter notebook与plotly server建立通信,即可调用已经做好的可视化内容做展示。Plotly同时有freemium和premium两种账户,免费账户已经可以满足基本需要。

Pyecharts

                                                           图片源于网络:侵删

此外,作为数据分析师,一个重要的工作场景就是为业务团队建立dashboard,plotly强大的交互功能得到了淋漓尽致的体现。

Pyecharts 是基于百度echarts的一个开源项目,也是我目前接触到的*容易实现交互可视化的工具,相比bokeh和plotly,pyecharts的语法更简单,实现效果更佳出众。

Pyecharts

                                                            图片源于网络:侵删

3. 地图可视化地理信息数据也会是部分数据分析师的业务场景。对于这类数据,可能传统的matplotlib/seaborn,交互属性的bokeh/plotly无法很好地对这类数据进行处理。我们需要使用处理地理数据引擎更强的可视化工具库。

Mapbox

Mapbox

                                              图片源于网络:侵删

Geoplotlib

Geoplotlib

                                    图片源于网络:侵删

Python可视化的库还有很多,熟练掌握matplotlib和seaborn,针对具体业务用好plotly和bokeh足以从容面对大多数的数据分析场景。