Seaborn.kdeplot() 方法

Seaborn.kdeplot() 方法有助于使用核密度估计绘制单变量或双变量分布。

与直方图类似,核密度估计图是一种用于显示数据集中观测值分布的技术。 核密度估计(KDE)使用一个或多个维度上的连续概率密度曲线来描述数据。

语法

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

Seaborn.kdeplot(x=None, *, y=None, shade=None, vertical=False, kernel=None, bw=None, gridsize=200, cut=3, clip=None, legend=True, cumulative=False, shade_lowest=None, cbar=False, cbar_ax=None, cbar_kws=None, ax=None, weights=None, hue=None, palette=None, hue_order=None, hue_norm=None, multiple='layer', common_norm=True, common_grid=False, levels=10, thresh=0.05, bw_method='scott', bw_adjust=1, log_scale=None, color=None, fill=None, data=None, data2=None, warn_singular=True, **kwargs)

参数

下面讨论了 seaborn.kdeplot() 方法的一些参数。

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

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

2 Hue

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

3 Levels

此参数用于指定在图中绘制等高线的级别数。

4 Cmap

Cmap 或颜色图用于指定绘制地图时使用的颜色。 采用不同类型的值,例如蓝色、绿色、PiYg 等。

5 Bw_adjust

获取数值并随着传递的值增加而平滑绘制的曲线。

6 Thresh

用于指定绘制轮廓的最低级别。 取值从 0 到 1。

7 Cumulative

随着 bin 数量的增加绘制累积计数。

8 Multiple

与单变量数据相关,取值:stacked、layer、fill。

9 Log_scale

将坐标轴刻度设置为对数,并且绘制的值采用对数刻度。

10 Legend

布尔值。 如果为false,则不打印出语义变量的图例。

让我们在继续开发绘图之前加载 seaborn 库和数据集。


载入seaborn 库

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

Import seaborn as sns

需要哪些数据?

需要双变量数据来理解 kdeplot() 方法中的大部分参数。 尽管此方法提供了为单变量数据绘制 kdeplot() 的方法,但它具有更多参数来绘制双变量数据,比如航班数据集,因为它包含双变量数据。

(双变量数据是指数据依赖于多个变量,单变量数据是指数据仅依赖于一个变量。)


加载数据集

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

flights=sns.load_dataset("flights")

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

flights.head()

以下是上面这段代码的输出。

index,year,month,passengers
0,1949,Jan,112
1,1949,Feb,118
2,1949,Mar,132
3,1949,Apr,129
4,1949,May,121

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

示例 1

在此示例中,我们将了解如何使用 seaborn.kdeplot() 方法为宽格式数据集中的每一列绘制核密度估计值。 为此,可以使用以下代码行。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.kdeplot(data=flights)
plt.show()

输出

上面代码的输出图如下。

seaborn kdeplot 方法

示例 2

现在,我们将看到如何为给定的数据集绘制基本的 kdeplot。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.kdeplot(data=flights, x="year", y="passengers")
plt.show()

输出

上面代码片段的输出图如下所示。

基本 kdeplot

示例 3

在这个例子中,我们将看到如何使用 fill 参数。 因此,此参数用于在定义的图形轮廓中填充颜色。 在下面的代码中,考虑了 x、y 和 hue 参数,并且由于将 True 传递给 fil 参数,因此获得的图形填充了颜色。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.kdeplot(data=flights, x="year", y="passengers",fill=True,hue="month")
plt.show()

输出

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

填充颜色

这里,如上所述,图形的轮廓被填充。

示例 4

我们将在这个例子中理解 levels 参数。 Levels 参数采用要在图形中绘制的等高线级别数,它可以是整数或向量值。 此参数仅在双变量数据的情况下相关。 在这里,cmap 参数用于更改绘图的颜色。 cmap 参数可以采用不同的值,在此示例中,PiYG 被传递给它,生成的颜色范围从粉红色到绿色。 cmap 可以采用的其他一些值包括蓝色、绿色等。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.kdeplot(data=flights, x="year", y="passengers",levels=10, cmap="PiYG")
plt.show()

输出

使用上述参数得到的图如下所示。

改变绘图的颜色

这就是 kdeplot() 方法及其参数的用法。

❮Seaborn 分布图简介