如何用matplotlib绘制出当均值不变,方差改变的正态分布的动态变化图像
时间: 2024-02-27 07:55:43 浏览: 22
可以使用 `matplotlib` 和 `numpy` 库来实现当均值不变,方差改变的正态分布的动态变化图像。具体步骤如下:
1. 导入所需的库:
```python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
```
2. 生成正态分布数据:
```python
mu = 0 # 均值
sigma_list = [1, 2, 3, 4, 5] # 方差列表
x = np.linspace(-10, 10, 1000) # 生成横坐标数据
y_list = [1/(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5*((x-mu)/sigma)**2) for sigma in sigma_list]
```
3. 定义动画函数:
```python
def update(i):
line.set_ydata(y_list[i])
return line,
```
4. 创建动画对象:
```python
fig, ax = plt.subplots()
line, = ax.plot(x, y_list[0])
ani = animation.FuncAnimation(fig, update, frames=len(sigma_list), interval=1000, blit=True)
plt.show()
```
完整的代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
mu = 0 # 均值
sigma_list = [1, 2, 3, 4, 5] # 方差列表
x = np.linspace(-10, 10, 1000) # 生成横坐标数据
y_list = [1/(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5*((x-mu)/sigma)**2) for sigma in sigma_list]
def update(i):
line.set_ydata(y_list[i])
return line,
fig, ax = plt.subplots()
line, = ax.plot(x, y_list[0])
ani = animation.FuncAnimation(fig, update, frames=len(sigma_list), interval=1000, blit=True)
plt.show()
```
运行代码后,就可以看到当均值不变,方差改变的正态分布的动态变化图像。每隔1秒钟,图像就会更新一次,展示不同方差下的正态分布概率密度函数。