如何使用matplotlib为我的图形设置动画,使其看起来像数据点正在移动?

时间:2013-12-19 16:23:05

标签: python animation matplotlib plot scatter

我有两个2D数组,我想在散点图中显示数据,因此看起来像点正在移动。所以我希望绘制第一组x和y数据,然后消失以替换为下一组x和y数据等。

我目前只编写了所有数据点并加入它们的代码,有效地追踪了数据点的路径。

pyplot.figure()
    for i in range(0,N):
        pyplot.plot(x[i,:],y[i,:],'r-')
pyplot.xlabel('x /m')
pyplot.ylabel('y /m')
pyplot.show()

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

matplotlib个文档包含一些可能有用的animation examples。他们都使用matplotlib.animation API,所以我建议你仔细阅读一些想法。从示例中,这是使用FuncAnimation的简单动画正弦曲线:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig, ax = plt.subplots()

x = np.arange(0, 2*np.pi, 0.01)        # x-array
line, = ax.plot(x, np.sin(x))

def animate(i):
    line.set_ydata(np.sin(x+i/10.0))  # update the data
    return line,

#Init only required for blitting to give a clean slate.
def init():
    line.set_ydata(np.ma.array(x, mask=True))
    return line,

ani = animation.FuncAnimation(fig, animate, np.arange(1, 200), init_func=init,
    interval=25, blit=True)
plt.show()