使用matplotlib画正态分布直方图
时间: 2023-10-17 13:20:59 浏览: 93
以下是使用matplotlib画正态分布直方图的示例代码:
```
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 生成正态分布数据
mu, sigma = 0, 1 # 正态分布的均值和标准差
data = np.random.normal(mu, sigma, 1000)
# 画直方图
count, bins, ignored = plt.hist(data, 30, density=True)
# 画正态分布曲线
plt.plot(bins, norm.pdf(bins, mu, sigma), linewidth=2, color='r')
# 设置标题、x轴标签、y轴标签
plt.title('Normal Distribution Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 显示图像
plt.show()
```
解释一下代码:
- 第1行导入需要的库。
- 第4行生成1000个均值为0、标准差为1的正态分布数据。
- 第7行用`plt.hist()`方法画直方图,其中`30`表示分成30个区间,`density=True`表示将频数转化为频率,即概率密度。
- 第10行用`norm.pdf()`方法画正态分布曲线,其中`mu`和`sigma`是正态分布的均值和标准差,`bins`是x轴上的数值范围。
- 第13-15行设置标题、x轴标签、y轴标签。
- 最后一行用`plt.show()`方法显示图像。
阅读全文