将seaborn直方图与正态分布图叠加的相对简单的方法

问题描述 投票:0回答:1

有一个数据框,我在 Seaborn 中为其创建了直方图:

import seaborn as sns
sns.histplot(df, bins=100)

我还可以从其发行版创建 pdf:

import scipy.stats as stats
import numpy as np
import matplotlib.pyplot as plt

a = df.describe()
x = np.linspace(a['min'], a['max'])
plt.plot(x, stats.norm.pdf(x, a['mean'], a['std']))

但是当我组合它们时,比例不匹配,因此 PDF 不可见。

有没有一种快速的方法来做到这一点(对于对数正态分布也是如此)?

python pandas statistics seaborn visualization
1个回答
0
投票

您的直方图显示计数,而根据定义,PDF 已标准化,因此曲线下的面积是统一的。要显示密度而不是计数,请将

stat=density
传递给
histplot

sns.histplot(df, bins=100, stat=density)

有关详细信息,请参阅

histplot
文档

© www.soinside.com 2019 - 2024. All rights reserved.