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() 方法的一些参数在下面讨论。

S.No 参数及说明
1 x,y

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

2 Hue

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

3 Legend

布尔值,如果为 false,它会抑制图例在图中显示。

4 Row,col

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

5 Data

此参数采用输入数据结构。 那是映射或序列。

6 rug

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

7 Kind

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

8 Palette

此参数用于设置贴图的色调。 它可以是明亮的、柔和的、深色的等等。

9 Color

当未指定色调映射时,用于指定单一颜色。

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()

输出

经验累积分布图
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()

输出

得到的双变量图如下。

双变量图

绘制双变量图并将值传递给 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()
传递值

示例 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()

输出

上面的代码片段将产生下图。

图表

示例 5

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

Multiple 本质上是将值作为堆栈,然后将数据堆叠在绘图中。 这可以在下图中看到。

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()

输出

以上代码片段的输出结果如下

单变量图

❮Seaborn 分布图简介