python画高斯分布
时间: 2023-11-08 10:05:55 浏览: 48
可以使用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`库来画一维高斯分布图。以下是一个示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
mu, sigma = 0, 1 # 均值和标准差
x = mu + sigma * np.random.randn(10000)
# 绘制直方图
n, bins, patches = plt.hist(x, 50, density=1, alpha=0.75)
# 添加正态分布曲线
y = 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( - (bins - mu)**2 / (2 * sigma**2) )
plt.plot(bins, y, 'r--', linewidth=2)
# 添加标签和标题
plt.xlabel('随机变量')
plt.ylabel('频率')
plt.title(r'一维高斯分布')
# 显示图形
plt.show()
```
执行以上代码后,将会得到一张一维高斯分布图,如下所示:
![一维高斯分布图](https://img-blog.csdnimg.cn/20210722172438134.png)