python 对正态分布下的 95% 置信区域进行着色
python shading the 95% confidence areas under a normal distribution
我有以下正态分布图
x_axis = np.arange(-10, 10, 0.001)
pdf = stats.norm.pdf(x_axis, np.mean(x_axis), np.std(x_axis))
plt.plot(x_axis, pdf)
我想shade/highlight正态分布下的95%置信区间。我也想在x轴上标注95%的上限值和下限值
非常感谢您的帮助!
您可以使用 plt.fill_between
.
我在这里使用标准正态分布 (0,1),因为您对 x_axis
的计算会使显示范围太窄而无法看到填充。
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
x_axis = np.arange(-10, 10, 0.001)
avg = 0
std = 1
pdf = stats.norm.pdf(x_axis, avg, std)
plt.plot(x_axis, pdf)
std_lim = 1.96 # 95% CI
low = avg-std_lim*std
high = avg+std_lim*std
plt.fill_between(x_axis, pdf, where=(low < x_axis) & (x_axis < high))
plt.text(low, 0, low, ha='center')
plt.text(high, 0, high, ha='center')
我有以下正态分布图
x_axis = np.arange(-10, 10, 0.001)
pdf = stats.norm.pdf(x_axis, np.mean(x_axis), np.std(x_axis))
plt.plot(x_axis, pdf)
我想shade/highlight正态分布下的95%置信区间。我也想在x轴上标注95%的上限值和下限值
非常感谢您的帮助!
您可以使用 plt.fill_between
.
我在这里使用标准正态分布 (0,1),因为您对 x_axis
的计算会使显示范围太窄而无法看到填充。
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
x_axis = np.arange(-10, 10, 0.001)
avg = 0
std = 1
pdf = stats.norm.pdf(x_axis, avg, std)
plt.plot(x_axis, pdf)
std_lim = 1.96 # 95% CI
low = avg-std_lim*std
high = avg+std_lim*std
plt.fill_between(x_axis, pdf, where=(low < x_axis) & (x_axis < high))
plt.text(low, 0, low, ha='center')
plt.text(high, 0, high, ha='center')