评测:哪个Python库才最适合做数据可视化?

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了评测:哪个Python库才最适合做数据可视化?相关的知识,希望对你有一定的参考价值。

数据可视化是任何探索性数据分析或报告的关键步骤,它可以让我们一眼就能洞察数据集。目前有许多非常好的商业智能工具,比如Tableau、googledatastudio和PowerBI,它们可以让我们轻松地创建图形。

然而,数据分析师或数据科学家还是习惯使用 Python 在 Jupyter notebook 上创建可视化效果。目前最流行的用于数据可视化的 Python 库:Matplotlib、Seaborn、plotlyexpress和Altair。每个可视化库都有自己的特点,没有完美的可视化库,我们应该知道每种数据可视化的优缺点,找到适合自己的才是关键。

准备

首先,让我们导入所有重要的库。很可能你的计算机上已经安装了 Matplotlib 和 Seaborn 。但是,你可能没有Plotly Express 和 Altair。现在可以使用 pip install plotly==4.14.3和pip install altair 数据集轻松安装它们。

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import altair as alt
import plotly.express as px

现在我们将导入数据集。出于演示的目的,我们只创建一个数据框架,其中包含美国人口最多的15个城市。我还将修正城市名称的大写。当我们创建可视化效果时,它将促进编辑过程。

df = pd.read_csv('worldcitiespop.csv')
us = df[df['Country'] == 'us']
us['City'] = us['City'].str.title()
cities = us[['City', 'Population']].nlargest(15, ['Population'], keep=’first’)

现在我们应该准备好分析每个库。你准备好了吗?

设置难度和初始结果

获胜者:Plotly Express
失败者:Matplotlib、Altair和Seaborn

在这一类中,所有的库都表现良好。它们都很容易设置,基本编辑的结果对大多数分析都足够好,但我们需要有赢家和输家,对吗?

Matplotlib 很容易设置和记住代码。然而,这个图表看起来并不好。它可能会完成数据分析的工作,但在商务会议上的结果并不理想。

Seaborn 创造了一个更好的图表。它会自动添加 x 轴和 y 轴标签。x 记号看起来更好,但对于基本图表来说,这比 Matplotlib 要好得多。

Plotly Expres,表现得非常出色。可以用很少的代码创建一个好看的、专业的条形图。不需要设置图形或字体大小。它甚至可以旋转 x 轴标签。所有这些都只需要一行代码。非常令人印象深刻!

Altair 图表表现良好。它提供了一个好看的图形,但它需要更多的代码,它按字母顺序,这并不可怕,而且在很多情况下都会有帮助,但我觉得这应该是用户应该决定的。

编辑和自定义

优胜者:Plotly Express、Seaborn、Matplotlib
失败者:Altair

我相信这四个库都有可能成为赢家。自定义图表在每一个上的表现却是不同的,但我认为,如果你学习足够,你会学会如何创造美丽的可视化。然而,我正在考虑如何容易地编辑和自定义,把自己想象成一个新用户。

Matplotlib 和 Seaborn 非常容易定制,而且它们的文档非常棒。即使你没有在他们的文档中找到要查找的信息,你也很容易在 Stack Overflow 中找到它。他们还有合作的优势。Seaborn 基于 Matplotlib。因此,如果你知道如何编辑一个,你就会知道如何编辑另一个,这是非常方便的。如果你使用

sns.set_style('darkgrid')

设置 Seaborn 主题,它将影响 Matplotlib,这可能就是为什么 Matplotlib 和 Seaborn 是两个更流行的数据可视化库。

plotly express 从一开始就提供了漂亮的图表,例如,与Matplotlib相比,只需要较少的编辑就可以获得非常不错的可视化效果。它的文档很容易理解,他们通过Shift+Tab提供文档,这非常方便。在我尝试的所有库中,它还提供了最多的定制选项。你可以编辑任何东西,包括字体,标签颜色等,最好的部分是它的毫不费力。它的文档中充满了例子。

我发现 Altair 的文件非常混乱。与其他库不同,Altair没有Shift+Tab快捷键。对于初学者来说,这是非常有问题和困惑的。我能够做一些编辑,但找到有关它的信息是有压力的。在编辑方面与我花在 Matplotlib 和 plotly express 上的时间相比,对于初学者来说,Altair 并不是一个很好的选择。

附加功能

获奖者:Plotly Express 和 Altair
失败者:Matplolib 和 Seaborn

对于这一类,我将考虑除了那些我们可以通过代码实现的功能之外的其他功能。Matplotlib 和 Seaborn 在这一类中是非常基本的。除了代码之外,它们不提供任何额外的编辑或交互选项。然而,Plotly Express 在这一类中大放异彩。首先,图表是互动的。您只需将鼠标悬停在图形上,就可以看到有关它的信息。
在这里插入图片描述

Altair 提供了一些选项来保存文件或通过Vega编辑器打开JSON文件。

文档和网站

获奖者:Plotly Express、Altair、Seaborn、Matplotlib

所有这些库的文档都很好。Plotly Express 有一个漂亮的网站,带有代码和可视化演示。很容易阅读和找到有关它的信息。我喜欢他们的网站是多么的精致和精心设计,你甚至可以与图表互动。
在这里插入图片描述

Altair 的网站上做得很好。他们的定制文档不是最好的,但是网站看起来不错,很容易找到代码示例。我不会说这是惊人的,但它确实起到了作用。
在这里插入图片描述

Seaborn 的网站还可以。有人说他们有最好的文件,包含代码示例。如果你正在寻找定制选项,它可能会变得很棘手,但除此之外,它是一个干净的网站,其文档也相当完整。


Matplotlib有一个完整的网站。在我看来,它有太多的文字,找到一些信息可能有点棘手。然而,信息就在那里。他们还提供PDF格式的文档。

总结

我在本文中分析的四个目前都非常棒的库。所有的可视化库都有优缺点,找好合适自己的才是关键。我最喜欢的是 Plotly Express ,因为它在所有类别中都表现出色。不过,Matplotlib 和 Seaborn 更受欢迎,大多数人都会在电脑上安装它们。Altair 是我最不喜欢之间。你最喜欢的数据可视化库是什么呢?


技术交流

欢迎转载、收藏、有所收获点赞支持一下!

在这里插入图片描述
目前开通了技术交流群,群友超过2000人,添加方式如下:

如下方式均可,添加时最好方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式一、发送如下图片至微信,进行长按识别,回复加群;
  • 方式二、直接添加小助手微信号:pythoner666,备注:来自CSDN
  • 方式三、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

在这里插入图片描述

以上是关于评测:哪个Python库才最适合做数据可视化?的主要内容,如果未能解决你的问题,请参考以下文章

学会python可以做啥工作

深度评测5大Python数据可视化工具

深度解读Apache Hadoop生态圈:哪一种流架构模式才最适合你的需求?

业界最全的Redis可视化工具横向评测

Python 代码编辑器怎么选?

python和java哪个比较适合做自动化测试,和测试开发一般用哪种语言。