用python写一个满足正态分布的输出散点图的代码
时间: 2023-05-22 07:03:20 浏览: 261
可以使用Python中的matplotlib库来绘制散点图。以下是一个例子,生成满足正态分布的散点图:
```python
import matplotlib.pyplot as plt
import numpy as np
mean = 0 # 均值
std = 1 # 标准差
num_points = 1000 # 点数
x = np.random.normal(mean, std, size=num_points) # 生成x坐标数据,满足标准正态分布
y = np.random.normal(mean, std, size=num_points) # 生成y坐标数据,满足标准正态分布
plt.scatter(x, y, alpha=0.5) # 绘制散点图
plt.show() # 显示图像
```
运行上述代码,即可得到一个正态分布的散点图。
相关问题
使用python画出二维正态分布与三维正态分布可视化图
使用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()
```
以上代码将生成二维和三维的正态分布的可视化图。这些图可以帮助我们理解正态分布的性质,以及如何使用这些分布来生成数据。
seaborn正态分布散点图
您可以使用seaborn库中的`distplot`函数来绘制正态分布散点图。具体步骤如下:
1. 导入seaborn库和matplotlib库
```python
import seaborn as sns
import matplotlib.pyplot as plt
```
2. 生成正态分布数据
```python
import numpy as np
# 生成均值为0,标准差为1的正态分布数据
data = np.random.normal(0, 1, 1000)
```
3. 绘制散点图
```python
sns.distplot(data, hist=False, rug=True)
plt.show()
```
其中,`hist=False`表示不绘制直方图,`rug=True`表示在x轴上绘制数据点。
阅读全文