python - 在 Python 中缩放正态分布
问题描述
我想为正态分布绘制直方图,并在其上绘制相应的正态分布。网上有几个关于 y 轴归一化的正态分布的例子density=True
。在我的示例中,我试图在没有密度类型归一化的情况下形成正态分布曲线。也许,这可能是一个隐含的数学问题,但我无法弄清楚如何“非标准化”分布曲线。以下是我的代码:
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
mu = 1e-3
std = 1.0e-4
nsize = 10000
ymax = 5000
# Generate some data for this demonstration.
data = norm.rvs(mu, std, size=nsize)
# Plot the histogram.
plt.hist(data, bins=20, color='b', edgecolor='black')
# Plot the PDF.
xmin, xmax = [0.5e-3, 1.5e-3] #plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std) # something to do with this line
plt.plot(x, p, 'k', linewidth=2)
plt.axvline(mu, linestyle='dashed', color='black')
plt.ylim([0, ymax])
可以看出,直方图下方的面积将等于 10000 ( nsize
),即数据点的数量。然而,“分布曲线”并非如此。如何获得与直方图的曲线匹配?
解决方案
推荐阅读
- npm-install - 我在运行 npm install 时遇到问题
- mysql - MYSQL中如何计算多个表的总和
- javascript - jqGrid 如何根据状态数据动态填充选项列表?
- php - 如何在数据库表中保存订单?
- jqgrid-asp.net - 我可以编辑绑定到动态数据的 JqGrid 行吗
- flutter - 在颤动中滚动列表视图时网络图像不断消失?
- php - laravel5.8 请求失败,状态码 500
- r - 给定透明颜色,相同的不透明等效颜色是什么?
- python - 如何在 python 上读取具有相似名称的文件然后使用它们?
- windows - 在操作系统级别更改后更新 IntelliJ 环境变量