用python绘制方差相等,ρ=0.75的二元正态分布的钟形密度曲面图以及概率分布水平投影图
时间: 2024-05-04 11:19:00 浏览: 143
要绘制二元正态分布的钟形密度曲面图以及概率分布水平投影图,我们需要用到Python中的一些科学计算库,比如numpy、scipy和matplotlib。下面是代码实现:
```python
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 设置正态分布的参数
mean = [0, 0]
cov = [[1, 0.75], [0.75, 1]]
# 生成二元正态分布的数据
x, y = np.random.multivariate_normal(mean, cov, 10000).T
# 绘制钟形密度曲面图
fig = plt.figure()
ax = Axes3D(fig)
xx, yy = np.mgrid[-3:3:.01, -3:3:.01]
pos = np.empty(xx.shape + (2,))
pos[:, :, 0] = xx
pos[:, :, 1] = yy
ax.plot_surface(xx, yy, stats.multivariate_normal(mean, cov).pdf(pos), cmap='coolwarm')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('PDF')
plt.show()
# 绘制概率分布水平投影图
plt.hist2d(x, y, bins=30, cmap='coolwarm')
plt.colorbar()
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
```
运行代码后,会先绘制钟形密度曲面图,然后绘制概率分布水平投影图。你可以根据需要修改代码中的正态分布参数、数据量和绘图样式。
阅读全文