matplotlib直方图拟合线
时间: 2023-06-14 15:07:21 浏览: 148
在 matplotlib 中,可以使用 `hist` 函数绘制直方图,并使用 `plot` 函数添加拟合线。下面是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 生成一些随机数据
data = np.random.normal(size=1000)
# 绘制直方图
plt.hist(data, bins=30, density=True, alpha=0.5)
# 计算拟合线
mu, std = norm.fit(data)
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
y = norm.pdf(x, mu, std)
plt.plot(x, y)
# 显示图像
plt.show()
```
在这个示例中,我们使用 `numpy.random.normal` 生成了一些随机数据,然后使用 `hist` 函数绘制了直方图。`bins` 参数指定了直方图的柱数,`density` 参数将直方图归一化为概率密度函数,`alpha` 参数指定了柱的透明度。
接着,我们使用 `scipy.stats.norm.fit` 函数拟合了正态分布曲线,并使用 `plot` 函数添加了拟合线。`norm.pdf` 函数用于计算概率密度函数,`mu` 和 `std` 分别是正态分布的均值和标准差。
最后,我们使用 `show` 函数显示了图像。你可以根据需要修改代码,例如改变随机数据的分布类型,调整柱数和拟合曲线的样式等。
阅读全文