使用python画出二维正态分布与三维正态分布可视化图
时间: 2024-06-13 15:04:13 浏览: 275
使用Python来绘制二维和三维正态分布的可视化图是一个常见的任务。在Python中,我们通常使用`matplotlib`和`numpy`库来完成这个任务。
首先,让我们创建一个二维正态分布的可视化图。假设我们有两个变量x和y,并且我们的数据来自一个均值为0,标准差为1的正态分布。
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
np.random.seed(0) # 为了结果可复现
x = np.random.normal(loc=0, scale=1, size=500)
y = np.random.normal(loc=0, scale=1, size=500)
# 创建散点图
plt.scatter(x, y)
plt.title('2D Normal Distribution')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
```
接下来,让我们创建一个三维正态分布的可视化图。假设我们有三个变量x, y和z,并且我们的数据来自一个均值为(0, 0, 0),标准差为(1, 1, 1)的正态分布。
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建数据
np.random.seed(0) # 为了结果可复现
x = np.random.normal(loc=(0, 0, 0), scale=(1, 1, 1), size=500)
y = np.random.normal(loc=(0, 0, 0), scale=(1, 1, 1), size=500)
z = np.random.normal(loc=(0, 0, 0), scale=(1, 1, 1), size=500)
fig = plt.figure() # 创建新图像窗口
ax = fig.add_subplot(111, projection='3d') # 使用3D绘图模式
ax.scatter(x, y, z) # 在3D图中创建散点
ax.set_title('3D Normal Distribution')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
```
以上代码将生成二维和三维的正态分布的可视化图。这些图可以帮助我们理解正态分布的性质,以及如何使用这些分布来生成数据。
阅读全文