正态分布--Python实现

表达式:
image.png
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import matplotlib.style as style

# 绘图配置
style.use('seaborn-bright')

plt.rcParams['figure.figsize'] = (15, 8)

plt.figure(dpi=120)

# 生成正态分布(图形与样本数量无关)
data = np.linspace(-5, 5, 60)
# PDF 概率密度函数(loc=0,scale=1)
# plt.plot(data, stats.norm.pdf(data), label='pdf(loc=0,scale=1)')
plt.fill_between(data, stats.norm.pdf(data), alpha=.3, label='pdf(loc=0,scale=1)')
# CDF 累积概率密度(loc=0,scale=1)
plt.plot(data, stats.norm.cdf(data), label='cdf(loc=0,scale=1)')

# PDF 概率密度函数(loc=2,scale=1) 均值改变只是图形平移
# plt.plot(data, stats.norm.pdf(data, loc=2), label='pdf(loc=2,scale=1)')
plt.fill_between(data, stats.norm.pdf(data, loc=2), alpha=.3, label='pdf(loc=2,scale=1)')
# CDF 累积概率密度(loc=2,scale=1)
plt.plot(data, stats.norm.cdf(data, loc=2), label='pdf(cdf=2,scale=1)')

# PDF 概率密度函数(loc=0,scale=2) 方差改变图形集中度
# plt.plot(data, stats.norm.pdf(data, scale=2), label='pdf(loc=0,scale=2)')
plt.fill_between(data, stats.norm.pdf(data, scale=2), alpha=.3, label='pdf(loc=0,scale=2)')
# CDF 累积概率密度(loc=0,scale=2)
plt.plot(data, stats.norm.cdf(data, scale=2), label='cdf(loc=0,scale=2)')

plt.legend(loc='upper left')
plt.title('norm')

# 坐标轴
plt.tick_params(axis="both", which="major", labelsize=18)
plt.axhline(y=0, color="black", linewidth=1.3, alpha=.7)

plt.show()

执行上面代码生成图片:


image.png

你可能感兴趣的:(正态分布--Python实现)