小编Mis*_*ter的帖子

seaborn distplot中的y轴是什么?

我有一些几何分布的数据.当我想看一下时,我会用

sns.distplot(data, kde=False, norm_hist=True, bins=100)
Run Code Online (Sandbox Code Playgroud)

结果是一张图片:

图1a

但是,箱柜高度不等于1,这意味着y轴不显示概率,它是不同的.相反,我们使用

weights = np.ones_like(np.array(data))/float(len(np.array(data)))
plt.hist(data, weights=weights, bins = 100)
Run Code Online (Sandbox Code Playgroud)

y轴应显示概率,因为箱高度总和为1:

情节1b

这里可以更清楚地看到:假设我们有一个列表

l = [1, 3, 2, 1, 3]
Run Code Online (Sandbox Code Playgroud)

我们有两个1,两个3和一个2,所以它们各自的概率是2/5,2/5和1/5.当我们使用带有3个箱子的seaborn histplot时:

sns.distplot(l, kde=False, norm_hist=True, bins=3)
Run Code Online (Sandbox Code Playgroud)

我们得到:

情节2a

如您所见,第1和第3个bin总和达到0.6 + 0.6 = 1.2,已经大于1,因此y轴不是概率.当我们使用

weights = np.ones_like(np.array(l))/float(len(np.array(l)))
plt.hist(l, weights=weights, bins = 3)
Run Code Online (Sandbox Code Playgroud)

我们得到:

在此输入图像描述

并且y轴是概率,如预期的那样为0.4 + 0.4 + 0.2 = 1.

对于每种情况下使用的两种方法,这两种情况中的箱的数量是相同的:对于几何分布的数据,100个箱,对于具有3个可能值的小阵列l,3个箱.所以箱子数量不是问题.

我的问题是:在用norm_hist = True调用的seaborn distplot中,y轴是什么意思?

python matplotlib seaborn

30
推荐指数
2
解决办法
2万
查看次数

标签 统计

matplotlib ×1

python ×1

seaborn ×1