Python画出正态分布的曲线
时间: 2024-08-17 08:02:57 浏览: 101
要使用Python画出正态分布曲线,你可以使用`matplotlib`库中的`norm`函数和`plot`函数。这里是简单的步骤[^1]:
```python
import matplotlib.pyplot as plt
from scipy.stats import norm
# 设置正态分布参数(均值μ和标准差σ)
mu, sigma = 0, 1
# 创建x轴范围
x = np.linspace(-3 * sigma, 3 * sigma, 400)
# 绘制正态分布曲线
plt.plot(x, norm.pdf(x, mu, sigma), label='Normal distribution')
# 添加标签和图例
plt.xlabel('Value')
plt.ylabel('Probability Density')
plt.title('Normal Distribution Curve')
plt.legend()
# 显示图形
plt.show()
```
这个代码会创建一个以`mu`为中心,`sigma`为标准差的正态分布曲线。如果你想要改变分布的参数,只需调整`mu`和`sigma`。
相关问题
python 画出正态分布
要画出正态分布曲线,你可以使用 Python 中的科学计算库 matplotlib 和统计计算库 scipy。下面是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 生成一组服从正态分布的随机数
mu = 0 # 均值
sigma = 1 # 标准差
data = np.random.normal(mu, sigma, 1000)
# 计算均值和标准差
mean = np.mean(data)
std_dev = np.std(data)
# 创建一个正态分布对象
dist = norm(mean, std_dev)
# 生成一组横坐标
x = np.linspace(min(data), max(data), 100)
# 绘制正态分布曲线
plt.plot(x, dist.pdf(x), color='b', label='Normal Distribution')
# 绘制直方图
plt.hist(data, bins=30, density=True, color='lightgray', edgecolor='black', alpha=0.7, label='Histogram')
# 添加标题和标签
plt.title('Normal Distribution')
plt.xlabel('Value')
plt.ylabel('Probability')
# 显示图例
plt.legend()
# 显示图像
plt.show()
```
运行这段代码将会生成一张包含正态分布曲线和对应数据的直方图。你可以根据需要调整代码中的参数,例如均值 `mu`、标准差 `sigma`、生成随机数的数量等,来进行定制化的绘图。
如何用python画出正态分布图
在Python中,我们可以使用matplotlib库来绘制正态分布图,这个过程通常涉及numpy生成随机数据并用matplotlib的函数来显示。以下是一个简单的步骤:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置正态分布的标准差和均值
mu = 0
sigma = 1
# 使用numpy生成正态分布的数据
data = np.random.normal(mu, sigma, 1000)
# 创建直方图,x轴表示数据范围,y轴表示频率
plt.hist(data, bins=30, density=True, color='blue', alpha=0.5)
# 添加标题和标签
plt.title('Normal Distribution')
plt.xlabel('Value')
plt.ylabel('Probability Density')
# 添加理论上的正态曲线
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = 1/(np.sqrt(2*np.pi*sigma**2)) * np.exp(-(x-mu)**2 / (2*sigma**2))
plt.plot(x, p, 'k', linewidth=2, linestyle='--')
plt.fill_between(x, p, alpha=.3, edgecolor='k')
# 显示图形
plt.show()
```
阅读全文