当前位置:主页 > 软件编程 > Python代码 >

Python如何绘制概率分布直方图浅析

时间:2022-08-06 11:13:03 | 栏目:Python代码 | 点击:

前言

直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱。大家平时可能见到最多就是 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、案例二

总结

您可能感兴趣的文章:

相关文章