matplotlib中动画实时显示曲线位置坐标
时间: 2023-10-25 18:15:14 浏览: 112
python中matplotlib举例
好的,要实现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)
# 绘制初始点
point, = ax.plot(x[0], y[0], 'ro')
# 更新函数,用于每一帧更新数据
def update(i):
# 更新曲线位置
line.set_ydata(np.sin(x+i/10.0))
# 更新点的位置
point.set_data(x[i], np.sin(x[i]))
# 更新标题
ax.set_title('Frame: {}, Point Position: ({:.2f}, {:.2f})'.format(i, x[i], np.sin(x[i])))
return line, point,
# 创建动画
ani = FuncAnimation(fig, update, frames=200, interval=50, blit=True)
# 显示动画
plt.show()
```
在代码中,我们首先生成了正弦曲线的数据,然后创建了画布和子图,绘制了初始曲线和点。接着,我们定义了一个更新函数`update`,用于每一帧更新曲线和点的位置以及标题。在更新曲线位置的时候,我们通过改变`ydata`属性,将曲线在y轴的位置上移或下移。在更新点的位置的时候,我们将点的x轴位置设为当前帧数对应的x值,y轴位置设为当前x值对应的y值。在更新标题的时候,我们将当前帧数和当前点的位置坐标显示在标题中。最后使用`FuncAnimation`函数创建动画并显示。
阅读全文