使用distplot绘制直方图时,y轴的单位是什么?我已经将不同的直方图与正态拟合一起绘制出来,发现在某些情况下其范围为0到0.9,而在另一些情况下其范围为0到4.5。
来自 help(sns.distplot)
:
norm_hist
: bool, 可选 如果为True,则直方图的高度显示密度而不是计数。 如果绘制了KDE或拟合的密度,则会暗示此选项。
一种密度函数的缩放使得曲线下的面积为1,因此没有任何一个单独的条形箱会比1(整个数据集)更高。但是,默认情况下kde
为True
并覆盖了norm_hist
,因此只有在显式设置kde
为False
时,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')