二维正态分布画图 python
时间: 2024-10-10 15:00:21 浏览: 40
二维联合正态分布伪随机数生成算法的研究与实现
二维正态分布也被称为高斯分布,在Python中,你可以使用matplotlib库中的`contourf()`函数或者 seaborn 库中的 `kdeplot()` 函数来绘制。以下是基本步骤:
1. **安装所需库**:
```shell
pip install matplotlib seaborn numpy
```
2. **导入库并生成数据**:
```python
import numpy as np
from scipy.stats import multivariate_normal
import matplotlib.pyplot as plt
import seaborn as sns
mean = [0, 0]
cov = [[1, 0], [0, 1]] # 单位矩阵表示标准正态分布
x, y = np.mgrid[-3:3:.01, -3:3:.01] # 创建网格坐标
pos = np.empty(x.shape + (2,))
pos[:, :, 0] = x
pos[:, :, 1] = y
density = multivariate_normal.pdf(pos, mean, cov) # 计算密度值
```
3. **绘制二维正态分布图**:
```python
fig, ax = plt.subplots()
ax.contourf(x, y, density, levels=20, cmap='coolwarm')
plt.colorbar() # 添加颜色条
plt.title('二维正态分布')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()
# 或者使用seaborn
sns.kdeplot(x=x, y=y, data={'x': density}, shade=True)
sns.despine()
```
4. **相关问题**:
阅读全文