Python绘制概率分布直方图
hhh江月 人气:0前言
直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱。大家平时可能见到最多就是 matplotlib,seaborn 等高级封装的库包,类似以下这样的绘图。
一、代码
1、案例一
import random import numpy as np import matplotlib.pyplot as plt X = np.random.normal(loc=10, scale=2, size=(1, 1000))[0] Y = np.random.normal(loc=10, scale=1.0, size=(1, 1000))[0] P = np.ones(1000) P[:600] = 0 np.random.shuffle(P) # print(P) Z = X + Y * P plt.hist(Z, density=True, bins=150) plt.show()
2、案例二
import random import numpy as np import matplotlib.pyplot as plt n = 1000 # p = 0.4 U = [] for i in range(1000): X = np.random.normal(loc=10, scale=2, size=(1, n))[0] Y = np.random.normal(loc=10, scale=1.0, size=(1, n))[0] P = np.ones(n) P[:600] = 0 np.random.shuffle(P) Z = X + Y * P a = 1 / pow(n * np.var(Z), 1/2) b = sum(Z) - n * np.mean(Z) u = a * b U.append(u) plt.hist(U, density=True, bins=60) plt.show()
二、运行效果
1、案例一
2、案例二
总结
加载全部内容