python画高斯分布
时间: 2023-11-08 17:05:55 浏览: 95
可以使用Python中的matplotlib库来画高斯分布。以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一些随机数据
data = np.random.normal(0, 1, 10000)
# 画出直方图
plt.hist(data, bins=50, density=True, alpha=0.6, color='g')
# 画出高斯分布曲线
mu, std = np.mean(data), np.std(data)
x = np.linspace(mu - 3*std, mu + 3*std, 100)
plt.plot(x, 1/(std * np.sqrt(2 * np.pi)) * np.exp(- (x - mu)**2 / (2 * std**2)), color='r')
plt.show()
```
这个例子中,我们首先生成了一些随机数据,然后用`plt.hist()`函数画出了这些数据的直方图。接着,我们计算了这些数据的均值和标准差,并用这些参数画出了高斯分布曲线。
相关问题
python画二维高斯分布
可以使用Python中的matplotlib库来画二维高斯分布。以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成二维高斯分布的数据
mean = [0, 0]
cov = [[1, 0], [0, 1]]
x, y = np.random.multivariate_normal(mean, cov, 5000).T
# 绘制散点图
plt.scatter(x, y, s=5)
plt.axis('equal')
plt.show()
```
这段代码会生成一个均值为(0,0),协方差矩阵为单位矩阵的二维高斯分布,并将其绘制成散点图。
python画二维正态高斯分布图
在Python中,可以使用matplotlib库以及numpy库来绘制二维正态高斯分布图,通常也称为概率密度函数(PDF)。这里是一个基本步骤:
```python
import matplotlib.pyplot as plt
import numpy as np
# 设置随机种子以便于复现结果
np.random.seed(0)
# 定义高斯分布的均值和标准差
mean = [0, 0]
cov = [[1, 0], [0, 1]] # 对角线表示各个维度独立,如果是完全相关则非对角线元素相同
# 生成数据点
x, y = np.meshgrid(np.linspace(-3, 3, 50), np.linspace(-3, 3, 50))
pos = np.empty(x.shape + (2,))
pos[:, :, 0] = x
pos[:, :, 1] = y
rv = np.random.multivariate_normal(mean, cov, size=1000)
density = rv.pdf(pos)
# 绘制图像
plt.contourf(x, y, density, cmap='Blues', alpha=0.6)
plt.colorbar(label='Probability Density')
plt.title('Two-dimensional Gaussian Distribution')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
阅读全文