写点什么

盘点 12 个 Python 数据可视化库,通吃任何领域

发布于: 2021 年 01 月 21 日
盘点12个Python数据可视化库,通吃任何领域


在数据可视化的研究热潮中,如何让数据生动呈现,成了一个具有挑战性的任务,随之也出现了大量的可视化软件。相对于其他商业可视化软件,Python 是开源且免费的,而且具有易上手、效果好的优点。

大家普遍第一次接触到的 Python 数据可视化库基本上都是 Matplotlib。Python 还有很多数据可视化库,本文盘点了 12 款常用的 Python 数据可视化库,挑选适合自己业务的那一款吧!

深入学习 Python 商业数据可视化技术,推荐阅读《Python 商业数据可视化实战》


Python 有很多数据可视化库,这些数据可视化库主要分为探索式可视化库交互式可视化库。前者透过简单直接的视觉图形,更方便用户看懂原数据,后者主要用于与业务结合过程中展现总体分析结果。

探索式可视化库

探索式分析最大的优势在于,可以让业务人员在海量数据中“自由发挥”,不受数据模型的限制。通过探索式分析和可视化,业务人员可以快速发现业务中存在的问题。

Python 探索式可视化库主要包括如下几个。

1Matplotlib


Matplotlib 是 Python 数据可视化库的元老,尽管它已有十多年的历史,但仍然是 Python 社区中使用最广泛的绘图库,编写几行代码即可生成线图、直方图、功率谱密度图、条形图、错误图、散点图等。

Python 的可视化库众多,各有各的特点,但是 Matplotlib 是一个非常基础的 Python 可视化库,如果需要学习 Python 数据可视化,那么 Matplotlib 是非学不可的,之后再学习其他库就比较简单了。Matplotlib 的中文学习资料比较丰富,其中最好的学习资料是其官方网站的帮助文档,大家可以在上面查阅自己感兴趣的内容。

2Seaborn


Seaborn 利用 Matplotlib 的强大功能,只用几行代码就能创建出漂亮的图表。它们的关键区别在于,Seaborn 的默认款式和调色板设计更加美观和现代。由于 Seaborn 是在 Matplotlib 基础上构建的,因此用户还需要了解 Matplotlib 以便调整 Seaborn 的默认值。

Seaborn 同 Matplotlib 一样,也是 Python 进行数据可视化分析的重要第三方包。

Seaborn 在 Matplotlib 的基础上进行了更高级的 API 封装,使用户绘图更加容易,所绘图形更加漂亮。Seaborn 是基于 Matplotlib 的一个模块,专用于统计可视化,可以和 Pandas 进行无缝连接,使可视化的初学者更容易上手。

相对于 Matplotlib,Seaborn 语法更简洁,两者的关系类似于 Numpy 和 Pandas 的关系。但是需要注意的是,应该把 Seaborn 视为 Matplotlib 的补充,而不是替代物。

Seaborn 库旨在以数据可视化为中心来挖掘与理解数据,它提供的面向数据集制图函数主要是对行列索引和数组的操作,包含对整个数据集进行内部的语义映射与统计整合,以此生成信息丰富的图表。

3Pyecharts


Pyecharts 是我国开发人员开发的,相比较 Matplotlib、Seaborn 等可视化库,Pyecharts 十分符合国内用户的使用习惯。

Pyecharts 的目的是实现 Echarts 与 Python 的对接,以便在 Python 中使用 Echarts 生成图表。

Echarts 是百度开源的一个数据可视化 JavaScript 库,生成的图的可视化效果非常好,其凭借良好的交互性,精巧的图表设计,得到了众多开发者的认可

4Missingno

处理缺失的数据是一件让人痛苦的事,Missingno 通过使用视觉摘要来快速评估数据集的完整性,而不是通过大篇幅的表格。它可以根据热力图或树状图的完成度或点的相关度对数据进行过滤和排序。

交互式可视化库

数据可视化可以是静态的也可以是交互的,交互式的数据可视化是指人们使用计算机和移动设备深入图表和图形的具体细节,然后用交互的方式改变他们看到的数据。Python 交互式可视化库主要包括如下几个。

1Bokeh


Bokeh 基于 JavaScript 实现交互式可视化,它是原生 Python 语法,它可以在 Web 浏览器中实现美观的视觉效果。

它的优势在于能够创建交互式的网站图,可以很容易地将数据输出为 JSON 对象、HTML 文档或交互式 Web 应用程序。Bokeh 还支持流媒体和实时数据。

但是它也有明显的缺点:一是版本时常更新,最重要的是有时语法不向下兼容,这对于开发者来说是噩梦;二是语法晦涩,与 Matplotlib 相比,可以说是有过之而无不及。

2HoloViews


HoloViews 是一个开源的 Python 库,旨在使数据分析和可视化更加简便,可以用非常少的代码行完成数据分析和可视化。

除了默认的 Matplotlib 后端,它还添加了一个 Bokeh 后端。结合 Bokeh 提供的交互式小部件,可以使用 HTML5 和 WebGL 快速生成交互式视图,以及进行高维数据的可视化探索。

3Plotly


Plotly 是一个数据可视化的在线平台,与 Bokeh 一样,Plotly 的强项在于制作交互式视图,但它提供了一些在大多数库中没有的图表,如等高线图、树状图和 3D 图表。可以在线绘制条形图、散点图、饼图、直方图等多种图形,可以画出很多媲美 Tableau 的高质量图。

Plotly 支持在线编辑图形,支持 Python、JavaScript、MATLAB 和 R 等多种语言的 API。Plotly 生成的所有图表实际上都是由 JavaScript 产生的,无论是在浏览器还是在 Jupyter 中,所有的可视化、交互都是基于 plotly.js 的,它是一个高级的声明性图表库,提供了 20 多种图表类型,包含 3D 图表、统计图和 SVG 地图等。

4pygal

与 Bokeh 和 Plotly 一样,pygal 提供了可以嵌入 Web 浏览器的交互式视图。区别在于,它能够将图表输出为 SVG 格式。如果用户使用较小的数据集,则输出位 SVG 格式的图像就可以了,但是如果用户制作的图表包含数十万个数据点,那么它们就会很难被渲染并变得反应迟钝。

Pygal 绘制线图的方法很简单,可以将图表渲染为一个 SVG 文件,用户使用浏览器打开 SVG 文件就可以查看生成的图表。

5plotnine


plotnine 是 Python 中图形语法的一种实现,它基于 ggplot2 包,语法绘图功能强大,可以轻松将数据映射到构成图的可视对象,然后创建自定义的图形。plotnine 提供各种不同的可视化视图,易于适应定制化输出,安装十分简单,用户可以通过 pip install plotnine 命令直接安装。

plotnine 的优点为代码简洁,易学;绘制出的图流畅大方;不需要很多的代码就可以绘制出很不错的图。在使用 plotnine 绘图之前,首先需要理解绘图的基本概念。

6Altair


Altair 是一个专为 Python 编写,它可以让数据科学家更多地关注数据本身和其内在的联系。

因为是基于 Vega-Lite(交互式图形语法)的声明性统计可视化库,Altair API 具有简单、友好、一致等特点。

声明意味着用户只需要提供数据列与编码通道之间的链接,例如,x 轴、y 轴、颜色等,其余的绘图细节它会自动处理。声明使 Altair 变得简单、友好和一致,用户使用 Altair 可以轻松设计出有效且美观的可视化代码。

7ggplot

ggplot 是基于 R 语言的 ggplot2 包和 Python 的绘图系统。ggplot 的运行方式与 Matplotlib 不同,它允许用户对组件进行分层以创建完整的绘图。例如,用户可以从轴开始画,然后添加点,接着添加线、趋势线等。虽然图形语法被认为是绘图的“直观”方法,但经验丰富的 Matplotlib 用户可能需要时间来适应这个新的方式。

8Gleam

Gleam 的灵感来自 R 语言的 Shiny 包。它允许用户仅使用 Python 脚本就可将分析结果转换为交互式 Web 应用程序,因此用户不必了解任何其他语言,如 HTML、CSS 或 JavaScript。Gleam 适用于任何 Python 数据可视化库。在创建绘图后,用户可以在它的上面添加字段,以便对数据进行筛选和排序。

图书推荐


▊《Python 商业数据可视化实战(全彩)》

王国平 著

通过可视化分析,更好地挖掘数据的价值

既包括操作方法和技巧,又融入了数据可视化实战案例

本书由浅入深、循序渐进地介绍了基于 Python 的商业数据可视化技术,并结合实际案例详细介绍了 Python 在数据可视化方面的具体应用。

重点介绍了 Python 的 9 个可视化库,分别为 Matplotlib、Seaborn、Pyecharts、Bokeh、HoloViews、Plotly、Pygal、plotnine、Altair,并介绍了商业数据可视化的思维。读者通过学习本书,能够轻松、快速地掌握商业数据可视化技术。


用户头像

还未添加个人签名 2019.10.21 加入

还未添加个人简介

评论

发布
暂无评论
盘点12个Python数据可视化库,通吃任何领域