如何在Python中使用matplotlib绘制正态分布?
时间: 2024-09-15 13:06:55 浏览: 41
在Python中,使用matplotlib库来绘制正态分布是很常见的。这里是一个简单的例子,展示了如何使用`sns.distplot()`函数结合`numpy`的随机数生成来完成这个任务:
```python
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm
import seaborn as sns
# 定义正态分布的参数 - 均值(mean)和标准差(std)
mu = 0
sigma = 1
# 生成一定数量的随机样本
x = np.random.normal(mu, sigma, 1000)
# 使用seaborn的distplot函数绘制正态分布
plt.figure(figsize=(8, 6))
sns.distplot(x, kde=True, fit=norm, color='blue')
# fit参数用于拟合正态分布,kde=True则添加核密度估计
# 添加拟合曲线的标签
params = norm.fit(x)
mu, sigma = params[0], params[1]
title = f"正态分布 (μ={mu:.2f}, σ={sigma:.2f})"
plt.title(title)
# 显示网格线
plt.grid(True)
# 显示坐标轴标签
plt.xlabel('Value')
plt.ylabel('Probability Density')
# 显示图表
plt.show()
```
在这个例子中,我们首先导入必要的模块,然后生成一些服从正态分布的随机数据,接着利用`sns.distplot()`来可视化数据,并通过`fit`参数指定拟合的正态分布。最后,我们设置了一些额外的美化选项,如标题和网格线。
阅读全文