首页 > 编程笔记 > Python笔记 阅读:14

Seaborn histplot():创建直方图(附带实例)

在 Seaborn 中可以使用 histplot() 函数创建直方图。直方图又称为质量分布图,主要用于展示数据在各个区间的分布情况。

直方图的外观与柱形图非常相似,但是它们存在以下几个区别:

创建自动分组的直方图

使用 histplot() 函数创建直方图时,Seaborn 会自动对数据进行分组,并统计各个区间的数据个数。为 histplot() 函数指定 bins 参数,并将其值设置为一个整数时,表示为数据划分的区间数量,每个区间的左右边界由 Seaborn 自动确定。

分析下面的代码:
import matplotlib.pyplot as plt
import seaborn as sns
x = [1, 3, 10, 12, 16, 25, 27, 31, 33, 36, 45, 52, 56]
sns.histplot(x=x, bins=5)
plt.show()
程序将创建如下图所示的直方图:


图 1 自动分组的直方图

根据数据中的最小值和最大值,自动将所有数据划分为 5 个区间,并统计每个区间的数据个数。

创建手动分组的直方图

为了获得更准确的区间,通常需要手动分组,只需将表示每个区间边界的值以列表的形式设置给 bins 参数,Seaborn 就会自动创建各个区间:
import matplotlib.pyplot as plt
import seaborn as sns
x = [1, 3, 10, 12, 16, 25, 27, 31, 33, 36, 45, 52, 56]
bins = [0, 10, 20, 30, 40, 50, 60]
sns.histplot(x=x, bins=bins)
plt.show()
效果如下图所示:


图 2 手动分组的直方图

相关文章