我是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)
所有建议都赞赏!
答案 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()
输出窗口: