当使用Distplot绘制柱状图时,Y轴的单位是什么?我绘制了不同的柱状图和一个正态拟合,我发现在一种情况下,它的范围是0到0.9,而在另一种情况下,它的范围是0到4.5。
谢谢您。

最佳答案

来自help(sns.distplot)
标准历史:布尔,奥托纳尔
如果为真,则柱状图高度显示的是密度而不是计数。
如果绘制了kde或拟合密度,则表示这一点。
对密度进行缩放,使曲线下的面积为1,因此任何单个肥料箱都不会高于1(整个数据集)[2]。但默认情况下,kde是打开的,并且会覆盖norm hist,因此只有在显式关闭kde时,norm hist才会更改y单位:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

fig, axs = plt.subplots(figsize=(6,6), ncols=2, nrows=2)
data = np.random.randint(0,20,40)

for row in (0,1):
    for col in (0,1):
        sns.distplot(data, kde=row, norm_hist=col, ax=axs[row, col])

axs[0,0].set_ylabel('NO kernel density')
axs[1,0].set_ylabel('KDE on')
axs[1,0].set_xlabel('norm_hist=False')
axs[1,1].set_xlabel('norm_hist=True')

[2]来自Mwaskom的澄清,谢谢!

10-06 09:50