首页 > 解决方案 > 在 seaborn displot/histplot 函数中绘制高斯拟合直方图(不是 distplot)

问题描述

我决定试一试 seaborn 版本 0.11.0!据我了解,使用将替换 distplot 的 displot 函数。我只是想弄清楚如何将高斯拟合绘制到直方图上。这是一些示例代码。

import seaborn as sns
import numpy as np
x = np.random.normal(size=500) * 0.1

使用 distplot 我可以这样做:

sns.distplot(x, kde=False, fit=norm)

在此处输入图像描述

但是如何在 displot 或 histplot 中进行呢?

标签: pythonplotseaborngaussiandata-fitting

解决方案


对不起,我迟到了。只需检查这是否符合您的要求。

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

data = np.random.normal(size=500) * 0.1
mu, std = norm.fit(data)

# Plot the histogram.
plt.hist(data, bins=25, density=True, alpha=0.6, color='g')

# Plot the PDF.
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2)
plt.show()

在此处输入图像描述


推荐阅读