常见的离散型分布密度函数图像
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import uniform, bernoulli, binom, geom, nbinom, hypergeom, poisson, multinomial
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
# 创建图像网格
fig, axs = plt.subplots(4, 3, figsize=(20, 16))
fig.subplots_adjust(hspace=0.6, wspace=0.4)
# 1. 离散均匀分布
n = 5
x = np.arange(1, n + 1)
y = np.ones(n) / n
axs[0, 0].bar(x, y, color='b', align='center')
axs[0, 0].set_title('离散均匀分布')
axs[0, 0].grid(True, alpha=0.7)
# 2. 两点分布
p = 0.7
x = np.arange(2)
y = [1 - p, p]
axs[0, 1].bar(x, y, color='g', align='center')
axs[0, 1].set_title('两点分布')
axs[0, 1].grid(True, alpha=0.7)
# 3. 二项分布
n = 10
p = 0.5
x = np.arange(0, n + 1)
y = binom.pmf(x, n, p)
axs[0, 2].bar(x, y, color='r', align='center')
axs[0, 2].set_title('二项分布')
axs[0, 2].grid(True, alpha=0.7)
# 4. 几何分布
p = 0.3
x = np.arange(1, 21)
y = geom.pmf(x, p)
axs[1, 0].bar(x, y, color='c', align='center')
axs[1, 0].set_title('几何分布')
axs[1, 0].grid(True, alpha=0.7)
# # 5. Pascal分布(负二项分布)
r = 3
p = 0.3
x = np.arange(r, r + 20)
y = nbinom.pmf(x - r, r, p)
axs[1, 1].bar(x, y, color='m', align='center')
axs[1, 1].set_title('Pascal分布(负二项分布)')
axs[1, 1].grid(True, alpha=0.7)
# 6. 超几何分布
M = 50 # 总物品数
n = 10 # 抽取物品数
N = 5 # 成功物品数
x = np.arange(0, n + 1)
y = hypergeom.pmf(x, M, N, n)
axs[1, 2].bar(x, y, color='y', align='center')
axs[1, 2].set_title('超几何分布')
axs[1, 2].grid(True, alpha=0.7)
# 7. Poisson分布
mu = 3
x = np.arange(0, 15)
y = poisson.pmf(x, mu)
axs[2, 0].bar(x, y, color='orange', align='center')
axs[2, 0].set_title('Poisson分布')
axs[2, 0].grid(True, alpha=0.7)
# 8. 多点分布
n = 5
x = np.arange(1, n + 1)
p = np.ones(n) / n
axs[2, 1].bar(x, p, color='purple', align='center')
axs[2, 1].set_title('多点分布')
axs[2, 1].grid(True, alpha=0.7)
# 9. 多项分布
n = 5 # 试验次数
pvals = [0.2, 0.3, 0.5] # 每个结果的概率
x = np.arange(len(pvals))
# 绘制每个结果的概率
axs[2, 2].bar(x, pvals, color='brown', align='center')
axs[2, 2].set_title('多项分布')
axs[2, 2].grid(True, alpha=0.7)
# 调整图像布局
plt.tight_layout()
# 显示所有图像
plt.show()
posted on 2025-05-22 16:23 Indian_Mysore 阅读(11) 评论(0) 收藏 举报
浙公网安备 33010602011771号