Python代码画正态分布
时间: 2024-04-09 11:25:48 浏览: 125
要使用Python代码画正态分布曲线,可以使用SciPy库中的stats模块。以下是一个示例代码:
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。下面是一个简单的示例代码:
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
库中的norm
函数和plot
函数。这里是简单的步骤[^1]:
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
。
相关推荐















