首页 > 解决方案 > 在频率直方图上创建正态分布曲线

问题描述

我以百分比形式生成了 10000 个正态分布的随机测试分数。该数据以直方图的形式表示,该直方图在 x 轴上测量得分百分比,在 y 轴上测量得分频率。

我想用直方图中使用的平均值和标准偏差在直方图上创建一条正态分布曲线。但是,我不确定scipy.stats.norm使用哪种方法根据频率而不是频率密度来映射曲线:

https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.stats.norm.html#scipy.stats.norm

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

mu = 55        #mean of the data 
sigma = 10     #standard deviation of data
num_bins = 100 #number of bins used 

#generate 10k random test scores normally distributed 
nums = [int(np.random.normal(mu, sigma)) for i in range(10000)] 

#plot histogram using this data
count, bins, ignored = plt.hist(nums, num_bins, density = False) 

plt.style.use('seaborn') 
plt.rcParams['figure.figsize'] = (12, 8)
plt.xlabel('Score %')
plt.ylabel('Score Frequency')
plt.title('Histogram of Test Scores: $\mu=55$, $\sigma=10$')

此代码生成以下 频率分布直方图 任何帮助将不胜感激。

标签: pythonscipyhistogramnormal-distributionfrequency-distribution

解决方案


推荐阅读