Seaborn.displot() 方法



seaborn.displot() 方法是一个函数,它提供了几种可视化数据单变量和双变量分布的方法。此函数与 Seaborn 库中的其他函数一样,允许绘制由跨多个子图的语义映射定义的数据子集。

一组数值的分布和范围在分布图中相对于一个维度表示。

语法

以下是 Seaborn.displot() 方法的语法

seaborn.displot(data=None, *, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)

参数

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

序号 参数和描述
1 x,y

表示在 x,y 轴上的变量。

2 Hue

这将生成具有不同颜色的元素。它是一个分组变量。

3 Legend

布尔值,如果为假,则抑制图例在图中显示。

4 Row,col

这些参数定义要绘制的子集。

5 Data

此参数接受输入数据结构。即映射或序列。

6 rug

布尔值,如果为真,则显示边缘刻度。

7 Kind

对应于要绘制的图类型。可以是 hist、kde 或 ecdf。

8 Palette

此参数用于设置映射的颜色色调。它可以是 bright、pastel、dark 等。

9 Color

用于指定单个颜色,当未指定 hue 映射时。

10 Aspect

根据此值确定图的大小。

11 Log_scale

将轴刻度设置为对数,并且绘制的值以对数刻度表示。

此图提供的默认图是直方图。在继续绘制图形之前,让我们加载 seaborn 库和数据集。

加载 seaborn 库

要加载或导入 seaborn 库,可以使用以下代码行。

Import seaborn as sns

加载数据集

在本文中,我们将使用 seaborn 库中内置的 Tips 数据集。以下命令用于加载数据集。

tips=sns.load_dataset("tips")

以下命令用于查看数据集中前 5 行。这使我们能够了解可以使用哪些变量来绘制图形。

tips.head()

以下是上述代码段的输出。

index,total_bill,tip,sex,smoker,day,time,size
0,16.99,1.01,Female,No,Sun,Dinner,2
1,10.34,1.66,Male,No,Sun,Dinner,3
2,21.01,3.5,Male,No,Sun,Dinner,3
3,23.68,3.31,Male,No,Sun,Dinner,2
4,24.59,3.61,Female,No,Sun,Dinner,4

现在我们已经加载了数据,我们将继续绘制数据。

示例 1

在此示例中,我们将使用 seabron.displot() 方法为单变量分布绘制简单的分布图。此方法的默认图类型是直方图。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill")
plt.show()

输出

seaborn_displot_method

如我们所见,总账单列作为直方图相对于 y 轴上的计数绘制。

示例 2

在此示例中,我们将使用 kind 参数并向其传递不同的参数。

kind 参数采用以下三个值之一:kde、ecdf 和 hist。

以下代码段输出一个图,它是经验累积分布图。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill",kind="ecdf")
plt.show()

输出

empirical cumulative distribution graph
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill",kind="kde")
plt.show()
axisgrid

示例 3

在此示例中,我们将绘制双变量分布图。这可以通过将数据传递到方法的 x 和 y 参数来完成。

sns.displot(data=tips, x="total_bill",y="tip")
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill",y="tip")
plt.show()

输出

获得的双变量图如下所示。

bivariate plot

绘制双变量图并向 kind 参数传递值。

sns.displot(data=tips, x="total_bill",y="tip",kind="kde")
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill",y="tip",kind="kde")
plt.show()
passing value

示例 4

我们将绘制双变量分布,并将不同的参数传递给方法,并查看图形的变化。

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

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill",y="tip",hue="sex",kind="kde")
plt.show()

输出

上述代码段将生成以下图形。

graph

示例 5

在此示例中,我们将看到在单变量图形中使用多个关键字参数。这里,multiple 是一个额外的关键字参数,允许自定义图形。

Multiple 本质上取值 stack,然后它将数据堆叠在图中。这可以在下图中看到。

sns.displot(data=tips, x="total_bill",hue="sex",multiple="stack")
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.displot(data=tips, x="total_bill",hue="sex",multiple="stack")
plt.show()

输出

上述代码段的输出如下

univariate graph
seaborn_distribution_plot_introduction.htm
广告