matplot打印不同sigma下的高斯分布函数
时间: 2024-10-09 15:14:19 浏览: 27
正态分布(即高斯函数)积分
Matplotlib是一个流行的Python数据可视化库,它可以帮助我们创建各种图表,包括绘制高斯分布(也称正态分布)。要在Matplotlib中打印不同σ(标准差)下的高斯分布,你可以按照以下步骤操作:
1. 首先,你需要导入所需的库:`import matplotlib.pyplot as plt` 和 `numpy`,因为计算高斯分布通常会用到 `numpy` 的 `random.normal()` 函数。
2. 定义不同的σ值,比如 `sigmas = [1, 2, 3]`。
3. 使用循环结构,对每个σ值生成对应的高斯分布数据。例如:
```python
n_points = 1000
data = []
for sigma in sigmas:
data.append(np.random.normal(0, sigma, n_points))
```
4. 创建一个新的图形窗口,并设置x轴范围和标题:
```python
x = np.linspace(-10, 10, 400)
fig, axs = plt.subplots(len(sigmas), figsize=(8, 6*len(sigmas)), sharex=True)
if len(sigmas) == 1:
axs = [axs]
axs[0].set_title("Gaussian Distributions with Different Sigma")
```
5. 循环遍历每个σ值及其对应的数据,使用 `ax.plot(x, distribution)` 绘制分布曲线:
```python
for ax, d in zip(axs, data):
ax.plot(x, d, label=f"σ={sigma:.1f}")
ax.legend()
```
6. 显示图例并展示图形:
```python
axs[-1].legend()
plt.tight_layout() # 调整子图间的间距
plt.show()
```
阅读全文