matplolib 中animation用法
时间: 2023-10-02 16:09:48 浏览: 35
Matplotlib 是 Python 中一个常用的数据可视化库,也提供了动画功能。Matplotlib 中的动画功能通过 Animation 类实现,需要用到 FuncAnimation 函数。FuncAnimation 函数需要指定以下参数:
1. fig:绘图对象;
2. func:每帧更新数据的函数;
3. frames:动画帧数;
4. init_func:初始化函数;
5. interval:帧间隔时间,单位为毫秒;
6. blit:是否使用 blit 技术,提高动画绘制效率。
例如,下面的代码实现了一个简单的动画效果,将正弦曲线动态绘制出来:
```python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
x = np.linspace(0, 2 * np.pi, 200)
line, = ax.plot(x, np.sin(x))
def update(frame):
y = np.sin(x + frame / 10)
line.set_ydata(y)
return [line]
ani = FuncAnimation(fig, update, frames=100, init_func=lambda: line)
plt.show()
```
在这个例子中,我们首先创建一个绘图对象 fig 和一个坐标轴对象 ax,然后使用 linspace 函数生成 x 坐标轴的数据,初始时使用 sin(x) 函数生成正弦曲线,将其保存在变量 line 中。在 update 函数中,我们根据帧数计算出新的 y 坐标轴的数据,并将其设置为 line 的 ydata 属性,然后将 line 返回。最后,我们使用 FuncAnimation 函数创建动画对象 ani,并将其显示在窗口中。
在这个例子中,frames 参数设为 100,因此动画共包含 100 帧,interval 参数设为 200,因此每帧之间的间隔时间为 200 毫秒。blit 参数默认为 False,因此不使用 blit 技术。