- Seaborn 教程
- Seaborn - 首页
- Seaborn - 简介
- Seaborn - 环境设置
- 导入数据集和库
- Seaborn - 图表美化
- Seaborn - 调色板
- Seaborn - 直方图
- Seaborn - 核密度估计
- 可视化成对关系
- Seaborn - 绘制分类数据
- 观察结果的分布
- Seaborn - 统计估计
- Seaborn - 绘制宽格式数据
- 多面板分类图
- Seaborn - 线性关系
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函数参考
- Seaborn - 函数参考
- Seaborn 有用资源
- Seaborn - 快速指南
- Seaborn - 有用资源
- Seaborn - 讨论
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()
输出
下面显示了绘图的输出。
示例 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()
输出
下图显示了使用上述代码片段后获得的输出。
示例 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,图表中的区间之间有间距。
示例 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()
输出
上述代码片段给出了以下图表。
这就是 histplot() 方法及其各种参数的用法。