python如何做正态分布图

python如何做正态分布图

作者:Elara发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何使用Python绘制正态分布的曲线?

我想在Python中绘制一个正态分布的概率密度函数曲线,应该使用哪些库和函数?

A

使用matplotlib和scipy绘制正态分布曲线的方法

可以使用matplotlib库进行绘图,同时使用scipy.stats中的norm模块生成正态分布的数据点。首先,利用numpy生成x轴数据范围,然后调用norm.pdf函数计算对应的概率密度函数值,最后用matplotlib.plot绘制出曲线。示例代码如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

x = np.linspace(-4, 4, 1000)
y = norm.pdf(x, loc=0, scale=1)

plt.plot(x, y)
plt.title('Normal Distribution Curve')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()
Q
Python中如何绘制带有均值和标准差参数的正态分布图?

如果我想绘制指定均值和标准差的正态分布曲线,应该怎么在Python中操作?

A

在Python中设置均值和标准差绘制正态分布

可以通过更改scipy.stats.norm中的loc和scale参数来设置均值和标准差。loc参数对应均值,scale参数对应标准差。例如,绘制均值为5,标准差为2的正态分布,代码如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

mean = 5
std_dev = 2
x = np.linspace(mean - 4*std_dev, mean + 4*std_dev, 1000)
y = norm.pdf(x, loc=mean, scale=std_dev)

plt.plot(x, y)
plt.title('Normal Distribution: mean=5, std=2')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()
Q
Python中有哪些方法可以生成并展示正态分布的直方图?

我有一组数据,我想用Python绘制它的正态分布直方图,应该怎么做?

A

利用matplotlib绘制正态分布数据的直方图

可以用numpy生成符合正态分布的数据样本,利用matplotlib的hist函数绘制直方图。为了更直观地展示近似的正态分布曲线,可以同时绘制概率密度函数。示例如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

# 生成符合正态分布的数据
data = np.random.normal(loc=0, scale=1, size=1000)

# 绘制直方图,设置density=True使其归一化为概率密度
count, bins, ignored = plt.hist(data, bins=30, density=True, alpha=0.6, color='g')

# 绘制正态分布曲线
x = np.linspace(min(bins), max(bins), 1000)
y = norm.pdf(x, loc=0, scale=1)
plt.plot(x, y, 'r-', lw=2)

plt.title('Histogram and Normal Distribution')
plt.xlabel('Value')
plt.ylabel('Density')
plt.show()