请在matplotlib中绘制标准gumble分布的边缘直方图
时间: 2024-11-09 09:28:03 浏览: 6
在Python的Matplotlib库中,我们可以使用`scipy`模块的`stats`部分来生成Gumbel分布的数据,然后利用`plt.hist()`函数创建边缘直方图。以下是一个简单的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gumbel_r
# 定义参数
loc = 0 # 位置参数 (μ)
scale = 1 # 形状参数 (β)
# 创建Gumbel分布的数据
x = gumbel_r.rvs(loc=loc, scale=scale, size=10000) # 生成大量随机样本
# 绘制边缘直方图
fig, ax = plt.subplots()
ax.hist(x, bins='auto', density=True, color='blue', alpha=0.5, label='Gumbel Distribution')
ax.set_title('Standard Gumbel Distribution using Matplotlib')
ax.set_xlabel('Value')
ax.set_ylabel('Density')
ax.legend()
# 显示图形
plt.show()
```
这个脚本首先导入必要的库,然后设置Gumbel分布的参数。`rvs()`函数生成了一组随机样本。`hist()`函数则用于绘制直方图,`density=True`表示每个柱子的高度是对数频率而不是频率,`bins='auto'`会让Matplotlib自动确定合适的直方图区间。
运行上述代码,你将看到标准Gumbel分布的边缘直方图。
阅读全文