时间推移动画

时间:2014-02-21 16:40:46

标签: animation matplotlib

我是python,matplotlib和动画的新手。 我无法找到清晰,详细的描述 animation.FuncAnimation(, , , , , , ......),所以我一直试图修改我发现的例子。英语FuncAnimation允许的所有参数是什么?

我想制作一个一次显示一个点的图形,时间间隔约为1秒。

这是我当前的代码,它只会在延迟后生成连续曲线:

def init():
    line1.set_data([],[],'og')
    return line1,

def animate(x):
    x = np.linspace(0, 650, num=20, endpoint = True)  #start at 0, stop at 650, number of values
    y1 = (v0_y/v0_x)*x - (g/2)*(x/v0_x)**2
    line1.set_data(x, y1)
    time.sleep(1)
    return line1,

anim = animation.FuncAnimation(fig, animate, init_func=init, frames=100, interval=3000, blit=True)

所有建议都赞赏!

1 个答案:

答案 0 :(得分:1)

您可以查看FuncAnimation here的文档,这是一个符合您需求的示例代码:

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

xs = np.linspace(0, 650, num=20, endpoint = True)
ys = np.random.rand(20)

fig = plt.figure()
line1, = plt.plot([],[],'og')

plt.gca().set_xlim(0,650)

def init():
    return line1,

def animate(i):

    line1.set_data(xs[:i], ys[:i])
    return line1,

anim = animation.FuncAnimation(fig, animate, init_func=init, interval=1000, blit=True)
plt.show()

输出窗口:

enter image description here