亲宝软件园·资讯

展开

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、案例二

总结

加载全部内容

相关教程
猜你喜欢
用户评论