Python代码画正态分布
时间: 2024-04-09 15:25:48 浏览: 11
要使用Python代码画正态分布曲线,可以使用SciPy库中的stats模块。以下是一个示例代码:
```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)
# 计算正态分布的概率密度函数
x = np.linspace(-4, 4, 100)
pdf = norm.pdf(x, mu, sigma)
# 绘制直方图和正态分布曲线
plt.hist(data, bins=30, density=True, alpha=0.5, color='skyblue')
plt.plot(x, pdf, 'r-', lw=2)
plt.xlabel('Value')
plt.ylabel('Probability Density')
plt.title('Normal Distribution')
plt.grid(True)
plt.show()
```
这段代码首先使用`np.random.normal`生成了一组符合正态分布的随机数,然后使用`norm.pdf`计算了正态分布的概率密度函数。最后,使用`plt.hist`绘制了直方图,并使用`plt.plot`绘制了正态分布曲线。
相关问题
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中的numpy和matplotlib库。以下是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
data = np.random.normal(0, 1, 10000)
# 绘制直方图
plt.hist(data, bins=50, density=True, alpha=0.6, color='g')
# 绘制密度曲线
density = (1 / (np.sqrt(2 * np.pi))) * np.exp(-0.5 * (data ** 2))
plt.plot(data, density, color='r', linewidth=2)
# 添加标题和标签
plt.title('Normal Distribution')
plt.xlabel('Value')
plt.ylabel('Density')
# 显示图形
plt.show()
```
在这个例子中,我们使用numpy的random模块生成10000个随机数,这些随机数符合均值为0,标准差为1的正态分布。然后,我们使用matplotlib的hist函数绘制这些数据的直方图,并使用density参数将它转换为概率密度直方图。接着,我们使用numpy计算密度曲线,并使用matplotlib的plot函数将其绘制在直方图上。最后,我们添加标题和标签,并使用show函数显示图形。