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
网友评论