Seaborn.histplot() 方法



Seaborn.histplot() 方法有助于可视化数据集分布。我们可以绘制单变量或双变量直方图。

直方图是一种传统的可视化工具,它计算落入离散区间的数据数量,以说明一个或多个变量的分布。此函数可以添加使用核密度估计导出的平滑曲线到每个区间内计算的统计量,以估计频率、密度或概率质量。

语法

以下是 Seaborn.histplot() 方法的语法:

seaborn.histplot(data=None, *, x=None, y=None, hue=None, weights=None, stat='count', bins='auto', binwidth=None, binrange=None, discrete=None, cumulative=False, common_bins=True, common_norm=True, multiple='layer', element='bars', fill=True, shrink=1, kde=False, kde_kws=None, line_kws=None, thresh=0, pthresh=None, pmax=None, cbar=False, cbar_ax=None, cbar_kws=None, palette=None, hue_order=None, hue_norm=None, color=None, log_scale=None, legend=True, ax=None, **kwargs)

参数

下面显示了此方法的一些参数:

序号 参数和描述
1 x,y

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

2 Hue

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

3 stat

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

4 bins

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

5 Binwidth

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

6 Binrange

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

7 Cumulative

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

8 Multiple

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

9 Log_scale

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

10 Legend

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

让我们在继续绘制图表之前加载 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

打印双变量直方图并使用 bins 参数。此参数接受区间数并在直方图中绘制这些区间。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.histplot(data=tips, x="total_bill", hue="sex",bins=20)
plt.show()

输出

下面显示了绘图的输出。

histogram

示例 2

要绘制不同类型的图表,可以使用 element 参数更改要绘制的图表类型。此参数可以取值 bar、step 和 poly。

以下代码片段可用于了解 element 参数的用法。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.histplot(data=tips, x="total_bill", hue="sex", element="poly")
plt.show()

输出

下图显示了使用上述代码片段后获得的输出。

Seaborn histplot

示例 3

在这个例子中,我们将了解如何为分类变量绘制图表。在 histplot 方法中,为分类变量绘制图表仍在开发中,是一个实验性功能。但是,我们现在仍然可以知道如何使用它。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.histplot(data=tips, x="time",hue="sex",shrink=.7)
plt.show()

输出

这里,time 和 sex 都是分类变量,参数 shrink 用于指定区间之间的宽度间距。上述代码的输出如下图所示。如前所述,由于使用了 shrink,图表中的区间之间有间距。

time and sex variable

示例 4

在这个例子中,我们将绘制一个对数刻度的直方图。能够以对数刻度绘制图表在许多业务场景中非常有用,下面我们将看到 log_scale 和 histplot() 方法中其他一些参数的用法。

如上所述,element 参数将描述要绘制的图表类型。它可以是 bars、step 和 poly。fill 参数接受布尔值,并填充或保持图表未填充。在上述所有示例中,我们看到的图表都是填充的,因此,在这种情况下,我们将布尔值 False 传递给 fill 参数并观察图表中的差异。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.histplot(data=tips, x="total_bill", log_scale=True,element="step", fill=False)
plt.show()

输出

上述代码片段给出了以下图表。

time and sex variable

这就是 histplot() 方法及其各种参数的用法。

seaborn_distribution_plot_introduction.htm
广告
© . All rights reserved.