Seaborn.histplot() 方法
Seaborn.histplot() 方法有助于可视化数据集分布。 我们可以绘制单变量或双变量直方图。
直方图是一种传统的可视化工具,它计算落入离散区间的数据数量,以说明一个或多个变量的分布。 此函数可以将使用核密度估计导出的平滑曲线添加到每个 bin 内计算的统计数据,以估计频率、密度或概率质量。
语法
以下是 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)
参数
该方法的部分参数如下所示 −
S.NO | 参数及说明 |
---|---|
1 | x,y 在 x,y 轴上表示的变量。 |
2 | Hue 这将产生具有不同颜色的元素。 它是一个分组变量。 |
3 | stat 这些参数定义了要绘制的子集。 |
4 | bins 此参数采用输入数据结构。 那是映射或序列。 |
5 | Binwidth 布尔值,如果为 true,则显示边缘刻度。 |
6 | Binrange 对应于要绘制的图的种类。 可以是 hist、kde 或 ecdf。 |
7 | Cumulative 随着 bin 数量的增加绘制累积计数。 |
8 | Multiple 与单变量数据相关并取值:stacked、layer、dodge 和 fill。 |
9 | Log_scale 将轴刻度设置为对数,绘制的值采用对数刻度。 |
10 | Legend 布尔值。 如果为 false,则不会打印出语义变量的图例。 |
让我们在继续开发绘图之前加载 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 参数。 此参数采用 bin 的数量并在直方图中绘制这些 bin。
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()
输出
绘图的输出如下所示。
示例 2
要绘制不同种类的图,可以使用元素参数来更改要绘制的图的种类。 此参数可以采用值、bar、step 和 poly。
下面的代码片段可以用来理解元素参数的用法。
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()
输出
下图显示了使用上述代码片段后获得的输出。
示例 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 用于指定 bin 之间的宽度间距。 上述代码的输出如下图所示。 如前所述,由于使用了收缩,图中的 bin 之间存在间距。
示例 4
在这个例子中,我们将绘制一个对数尺度的直方图。 能够以对数比例绘制图形在许多业务场景中非常有用,下面我们将看到 log_scale 和 histplot() 方法中的一些其他参数的用法。
上面讨论的元素参数将描述要绘制的图形的种类。 它可以是条形、台阶和多边形。 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()
输出
上面的代码片段给出了下图。
这是 histplot() 方法及其各种参数的用法。