matplotlib绘制时间变化动态图
时间: 2023-07-12 10:06:31 浏览: 186
Matplotlib绘制动态图像
5星 · 资源好评率100%
要绘制时间变化动态图,可以使用matplotlib的动画模块FuncAnimation。
以下是一个简单的例子,演示如何使用FuncAnimation绘制随时间变化的正弦曲线:
```python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
# 创建一个figure对象和一个子图
fig, ax = plt.subplots()
# 设置x轴和y轴的范围
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)
# 创建一个空的线条对象
line, = ax.plot([], [])
# 定义一个函数,用于更新数据
def update(frame):
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x + frame/10)
line.set_data(x, y)
return line,
# 创建一个动画对象
ani = FuncAnimation(fig, update, frames=np.arange(0, 100), interval=50)
# 显示动画
plt.show()
```
在这个例子中,我们首先创建一个figure对象和一个子图,然后设置x轴和y轴的范围。接着,我们创建了一个空的线条对象,并定义了一个update函数,该函数用于更新数据。在update函数中,我们使用np.linspace生成一个包含100个点的x轴数据,并根据时间帧数frame生成相应的y轴数据。最后,我们将更新后的数据设置到线条对象上,并将其返回。
然后,我们调用FuncAnimation函数创建了一个动画对象ani,该函数接受三个参数:figure对象、update函数和帧数frames。我们在这里使用了np.arange生成了一个包含100个整数的数组,作为帧数。最后,我们调用plt.show()方法显示动画。
运行该程序,将会看到随时间变化的正弦曲线。
阅读全文