matplotlib中动画实时显示曲线位置
时间: 2023-10-25 08:15:14 浏览: 54
好的,要实现matplotlib中动画实时显示曲线位置,可以使用`animation`模块中的`FuncAnimation`函数来制作动画。在每一帧更新曲线的位置并将曲线的位置显示在图形的标题中即可。以下是一个示例代码:
``` python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
# 生成数据
x = np.linspace(0, 2 * np.pi, 200)
y = np.sin(x)
# 创建画布和子图
fig, ax = plt.subplots()
# 绘制初始曲线
line, = ax.plot(x, y)
# 更新函数,用于每一帧更新数据
def update(i):
# 更新曲线位置
line.set_ydata(np.sin(x+i/10.0))
# 更新标题
ax.set_title('Frame: {}, Y Position: {:.2f}'.format(i, np.sin(x[i])))
return line,
# 创建动画
ani = FuncAnimation(fig, update, frames=200, interval=50, blit=True)
# 显示动画
plt.show()
```
在代码中,我们首先生成了正弦曲线的数据,然后创建了画布和子图,绘制了初始曲线。接着,我们定义了一个更新函数`update`,用于每一帧更新曲线的位置和标题。在更新曲线位置的时候,我们通过改变`ydata`属性,将曲线在y轴的位置上移或下移。在更新标题的时候,我们将当前帧数和当前曲线的y轴位置显示在标题中。最后使用`FuncAnimation`函数创建动画并显示。