精挑细选的10个用于数据可视化Python库
Posted 景略集智
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了精挑细选的10个用于数据可视化Python库相关的知识,希望对你有一定的参考价值。
其实 Python 里面就有不少库可以满足各种数据可视化的实践操作,其中有些库主要专注于某个具体领域,有些则可以用于各种任务。
今天我们就分享 10 个用于数据可视化的 Python 库,总有一款适合你!
Matplotlib
Matplotlib 是 Python 中的老牌数据可视化库,虽然已经推出了由十几年之久,但它目前仍是 Python 里使用最广泛的绘图库。
因为 matplotlib 是第一款用于数据可视化的库,因为后面的一些库比如 Pandas 和 seaborn 都是基于它创建的。
虽然 matplotlib 比较经典,但也因较为复杂和风格老旧而受到批评,不过最新的 2.X 版本的 matplotlib 已经大幅优化了这些问题。
Seaborn
借助 matplotlib 的强大性能,Seaborn 只需几行代码就能创建出很漂亮的图表。两者的关键区别是 seaborn 上的默认样式及颜色更为美观和现代感一些。由于 seaborn 基于 matplotlib 建立,所以你还需要知道怎么用 matplotlib 调整 seaborn 的默认设置。
Ggplot
Ggplot 基于 R 语言绘图系统 ggplot2 以及源自《The Grammar of Graphics》的概念。ggplot 的操作不同于 matplotlib,它能让组合不同的部件创建一个完整的图形。比如你可以先画一个轴,然后添加点,然后加上线,接着画上趋势线等。
据 ggplot 的设计者称,ggplot 的初衷并不是用于创建高度自定义的图形,而是提供一种更为简便的绘图方法。
Ggplot 和 Pandas 紧密相关,所以在使用 ggplot 的时候最好将数据保存在 DataFrame 中。
Bokeh
和ggplot一样,Bokeh的绘图理念也是基于《The Grammar of Graphics》这本书,不过不同的是,Bokeh 是原生的 Python 库,而非源自 R 语言。Bokeh 的强大之处是能够创建交互式、支持网页的图形,可以很容易的导出为 json 对象,html 文件或其它交互式网页应用。Bokeh 也支持数据流和实时数据。
Bokeh 提供了三种不同的界面,有不同的操作水平,分别对应不同的用户类型。最高水平是快速创建图形,包括创建常见图形如条形图、箱线图、直方图等的方法(适合新手)。中等水平大致和 matplotlib 相仿,让你可以掌控每个图表的基本组件,比如散点图中的点(适合有一定经验的人)。最低水平没有预先的默认设置,需要用户自定义图表中的所有元素(适合开发者和软件工程师)。
Pygal
Pygal 也能像 Bokeh 和 Plotly 一样提供交互式图形,可以嵌入浏览器中。主要不同之处在于 Pygal 能够输出 SVG 图形。在处理较小的数据集时,SVG 图形会让工作效果更好,不过在处理有成百上千个数据点这样的图形时,会出现卡顿。
因为每个图形类型都被打包为一种方法,内置风格也很美观,所以 Pygal 只需几行代码就能创建出非常漂亮的图表。
Plotly
Plotly 不单单是一个在线数据可视化平台,也可以在 Python 笔记本中使用。Plotly 也能像 Bokeh 一样制作交互式图形,而且可以创建大多数库无法创建的图形,比如等高线图、树枝形结构联系图和 3D 图形。
Geoplotlib
Geoplotlib 是一款可以创建地图和绘制地理数据的工具箱。你可以用它创建出多种地图类型,比如等高线图,热度图和密度图等。不过要使用 Geoplotlib,必须先安装好 Pyglet(一种面向对象的编程界面)。由于大多数 Python 数据可视化库并不能绘制地图,因此使用 Geoplotlib 能很好的解决这个问题。
Gleam
Gleam 可以让你仅用 Python 脚本就能将分析转换为交互式网页应用,这样你就不必懂 HTML,CSS,javascript 这些语言。Gleam 兼容任何 Python 数据可视化库。创建图形后,就可以在图形上部创建字段,用户就可以过滤和筛选数据。
Missingno
处理缺失数据是一件很痛苦的事情,missingno 能让你以可视化摘要的方式迅速衡量数据集是否完整,而不用在各种图表中苦苦寻找。你可以根据数据的完整性或者和热度图以及树状图的点关系来过滤和筛选数据。
Leather
如果你需即刻绘制图形,不太在乎图形美观与否,Leather 就是一款正好满足你需求的 Python 绘图库。Leather 适用于所有数据类型,能够生成 SVG 图形,因此可以在图像不失真的情况下将图像伸缩。
对于 Python 的各个可视化库,有哪些具体的优缺点,以及什么时候最适合用哪个库,可以参考我们的这篇回答:
参考资料:
https://blog.modeanalytics.com/python-data-visualization-libraries/
以上是关于精挑细选的10个用于数据可视化Python库的主要内容,如果未能解决你的问题,请参考以下文章