python - 在 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 中进行呢?
解决方案
对不起,我迟到了。只需检查这是否符合您的要求。
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()
推荐阅读
- azure-ad-b2c - 从注册和登录 v2 政策中获取电子邮件地址?
- css - 如何让 liveserver 渲染 django 模板?
- ios - 无法读取数据,因为它的格式不正确(swift)
- windows - Bash Shell 脚本无法在 Windows 10 上使用 CMDER 查找文件,但可以在 Linux 上运行
- random - vb6 随机数没有重复和没有零
- odoo - Odoo QWeb:指客户公司
- javascript - Firebase 云函数中的空传播错误
- java - 用随机数创建一个数组
- spring-boot - 多模块项目的模块是否可以使用另一个模块的存储库文件夹?
- html - 在没有类的情况下定位 div 内部的东西?