python画数据拟合的正态分布图,标出3西格玛点
时间: 2025-02-16 09:13:14 浏览: 18
在Python中,你可以使用matplotlib库和numpy库来绘制数据的正态分布图,并通过计算3σ(标准差)边界来标出异常值。以下是简单的步骤:
导入所需的库:
import matplotlib.pyplot as plt import numpy as np from scipy.stats import norm
创建一些随机数据,假设它近似于正态分布:
mean = 0 std_dev = 1 data = np.random.normal(mean, std_dev, 1000) # 生成1000个样本
绘制正态分布曲线以及3σ线: ```python
绘制正态分布直方图
plt.hist(data, bins='auto', density=True, alpha=0.6, label='Data')
计算并绘制3σ范围
mu, sigma = norm.fit(data) sigma *= 3 # 3倍的标准差 x_range = np.linspace(min(data), max(data), 1000) y_upper = norm.pdf(x_range, mu, sigma) y_lower = -y_upper
添加3σ线
plt.plot(x_range, y_upper, 'r--', label=f'3σ Upper Bound') plt.plot(x_range, y_lower, 'r--')
设置图表标题、标签和轴刻度
plt.title('Normal Distribution with 3σ Limits') plt.xlabel('Value') plt.ylabel('Probability Density') plt.legend()
显示图形
plt.show()
```
在这个例子中,norm.pdf
函数用于计算正态分布的概率密度函数,fit
函数则用于获取均值和标准差。红色虚线表示3σ范围,正常的数据分布应该在这三个标准差内。
相关推荐


















