Python seaborn.displot()方法

2025年1月5日 | 阅读 7 分钟

seaborn.displot() 是一个提供访问多种单变量和双变量数据分布可视化方法的函数。与 Seaborn 库中的其他函数类似,此函数支持基于多个子图之间的语义映射来确定数据子集的绘制。

分布图显示了一组数值相对于给定维度的范围和分布。

Seaborn 的 displot() 函数的语法如下:

语法

参数

下面将讨论 displot() 方法的一些参数。

序号参数和描述
1.x, y
沿 x 和 y 轴绘制的变量。
2.色调
这将导致具有各种颜色的组件。它是一个用于分组的变量。
3.Legend
布尔值;如果为 false,则图例在故事中被隐藏。
4.Row, col
将要绘制的子集由这些参数定义。
5.数据
输入数据结构被发送到此参数。它可能是一个序列或一个映射。
6.rug
布尔值,如果为 true,则显示边缘刻度线。
7.Kind
匹配需要绘制的图形类型。可以是 ecdf、kde 或 hist。
8.Palette
此选项控制映射的颜色色调。它可以是柔和的、阴郁的或明亮的。
9.颜色
当没有提供 hue 映射时,此选项用于定义单个颜色。
10.方面
此值设置了图形的尺寸。
11.Log_scale
将值绘制在对数刻度上,并将轴刻度设置为对数。

此可视化提供了直方图作为默认图形。在构建图形之前,让我们导入数据集和 Seaborn 库。

加载 Seaborn 库

可以使用以下代码导入或加载 Seaborn 库。

加载数据集

本文将使用 Seaborn 库中预装的 Tips 数据集。要加载数据集,请运行以下命令。

使用下方列出的命令,您可以查看数据集的前五行。这有助于您理解可以在图上绘制的变量。

上面代码的运行结果如下图所示。

现在数据已加载,我们将对其进行可视化。

示例 1

在此示例中,我们将使用 seabron.display() 方法进行单变量分布,以绘制一个基本的分布图。对于此方法,直方图是默认的图形类型。

说明

在加载 "tips" 数据集(其中包含餐厅服务员收到的小费信息,包括总账单和消费金额等变量)之前,代码会导入所需的库 Seaborn 和 Matplotlib。tips 提供对数据 head() 方法的简要概述,该方法显示数据集的前几行。然后,使用 sns.displot 函数创建的分布图(通常称为直方图)显示了数据集中总账单金额的频率分布。最后,通过调用 plt.show() 显示图形。这种图形有助于观察总账单金额的离散程度和中心趋势。

输出

Python seaborn.displot() Method

可以看到,绘制了总账单列作为直方图,y 轴为计数。

示例 2

在此示例中,我们将学习如何使用 type 参数并为其提供其他输入。

kind 参数的三个可能选项是 kde、ecdf 和 hist。

使用以下代码生成表示经验累积分布的图形。

说明

代码首先在导入 Seaborn 和 Matplotlib 库后加载 "tips" 数据集,该数据集包含有关餐厅账单和小费的详细信息。tips.head() 方法显示了该数据集的前几行。接下来,通过将 kind="ecdf" 传递给 sns.displot 函数,生成了 "total_bill" 列的经验累积分布函数 (ECDF) 图。ECDF 图通过显示数据集中低于每个不同值的观测值的百分比或计数,提供分布的累积视角。最后,通过调用 plt.show() 渲染图形。这种 ECDF 显示有助于理解总账单金额的累积分布和百分位数。

输出

Python seaborn.displot() Method

说明

在导入 Seaborn 和 Matplotlib 库后,代码加载了 "tips" 数据集,其中包含有关餐厅账单和费用的信息。为了进行总结,tips.head() 方法显示了该数据集的前几行。接下来,通过将 kind="kde" 传递给 sns.displot 函数,生成了 "total_bill" 列的核密度估计 (KDE) 图。KDE 图是直方图的平滑、连续形式,它提供了对总账单金额概率密度函数的估计。最后,通过调用 plt.show() 显示图形。与直方图不同,此 KDE 图有助于更细致、更流畅地理解总账单金额的潜在分布和密度。

输出

Python seaborn.displot() Method

示例 3

在这种情况下,我们将绘制双变量分布图。为此,可以将数据发送到方法的 x 和 y 参数。

说明

一旦代码最初导入了 Seaborn 和 Matplotlib 包,就会加载包含餐厅账单和小费详细信息的 "tips" 数据集。有关数据的概览,请参阅 tips.head() 方法,该方法显示了该数据集的前几行。然后,使用 sns.displot 函数,并设置 x="total_bill" 和 y="tip" 参数,绘制 "total_bill" 和 "tip" 之间的双变量关系。此处绘制了消费金额和小费金额之间的关系,以便我们可以查看这两个变量之间的任何趋势或关联。最后,通过调用 plt.show() 渲染图形。这种双变量图有助于更好地理解消费金额和小费金额之间的分布和相关性。

输出

Python seaborn.displot() Method

创建双变量图形并将 kind 参数设置为某个值。

说明

在导入 Seaborn 和 Matplotlib 包后,代码加载了包含餐厅账单和小费信息的 "tips" 数据集。为了进行总结,tips.head() 方法显示了数据集的前几行。接下来,通过指定 x="total_bill", y="tip", 和 kind="kde",使用 sns.displot 函数生成双变量核密度估计 (KDE) 图。此 KDE 图可视化了总账单金额和小费金额的联合密度,提供了一个平滑的、连续的轮廓图,显示了数据点集中的位置。最后,通过调用 plt.show() 显示图形。此双变量 KDE 图突出了较高密度区域,并有助于更细致、更流畅地理解总账单金额和小费金额之间的分布和关系。

输出

Python seaborn.displot() Method

示例 4

绘制双变量分布并更改方法的参数,我们将能够观察图形的变化。

首先,我们将绘制一个 kde 图并传入 x、y 和 hue 参数。

说明

在导入 Seaborn 和 Matplotlib 库后,代码加载了 "tips" 数据集,其中包含有关餐厅账单、小费和其他变量的详细信息。有关数据的概览,请参阅 tips.head() 函数,该函数显示了该数据集的前几行。使用 sns.displot 函数,并设置 x="total_bill", y="tip", hue="sex", 和 kind="kde" 参数,以生成双变量核密度估计 (KDE) 图。此 KDE 图使用不同的轮廓线表示男性和女性顾客,创建了平滑的、连续的轮廓图,显示了总账单金额和小费金额的联合密度。最后,通过调用 plt.show() 显示图形。

输出

Python seaborn.displot() Method

示例 5

在此示例中,我们将展示如何在单变量图形中使用多个关键字参数。Numerous 是一个额外的关键字参数,允许自定义图形。

本质上,multiple 接受一个堆叠值并相应地绘制数据。这在下图中有体现。

说明

在导入 Seaborn 和 Matplotlib 库后,代码加载了 "tips" 数据集,其中包含有关餐厅账单、小费和其他变量的数据。为了进行总结,tips.head() 方法显示了该数据集的前几行。使用 hue="sex" 和 multiple="stack" 参数,通过 sns.displot 方法构建了 "total_bill" 列的直方图。这种安排生成了按性别划分的总账单金额的堆叠直方图,使得可以比较男性和女性顾客的消费体验。最后,通过调用 plt.show() 渲染图形。这种堆叠直方图通过帮助可视化总账单金额的分布及其在男性和女性顾客之间的差异,提供了关于可能的消费模式(取决于性别)的见解。

输出

Python seaborn.displot() Method