Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib funcAnimation不是';t调用传递的函数_Python_Matplotlib - Fatal编程技术网

Python matplotlib funcAnimation不是';t调用传递的函数

Python matplotlib funcAnimation不是';t调用传递的函数,python,matplotlib,Python,Matplotlib,我正在尝试制作机器人链接的动画,但没有成功。FuncAnimation从不调用animate函数——永远不会执行print语句。任何帮助都将不胜感激。 我的代码: FuncAnimation创建的对象必须指定给全局变量;如果它被分配给一个局部变量,就像我在这里做的那样,什么也不会发生。你能提供一个答案吗?不知道为什么会发生这种情况,但我可以确认这是真的。谢谢@JoshuaF。编辑:从动画通过计时器(通常来自主机GUI框架)进行升级,动画对象将保存对该计时器的唯一引用。如果不保留对动画对象的引用,

我正在尝试制作机器人链接的动画,但没有成功。FuncAnimation从不调用animate函数——永远不会执行print语句。任何帮助都将不胜感激。 我的代码:


FuncAnimation创建的对象必须指定给全局变量;如果它被分配给一个局部变量,就像我在这里做的那样,什么也不会发生。

你能提供一个答案吗?不知道为什么会发生这种情况,但我可以确认这是真的。谢谢@JoshuaF。编辑:从动画通过计时器(通常来自主机GUI框架)进行升级,动画对象将保存对该计时器的唯一引用。如果不保留对动画对象的引用,它(以及计时器)将被垃圾收集,从而停止动画。
joints = np.array([robot_kinematics.getJoints(a[0]) for a in path])
# this is [5x9x3]

fig    = plt.figure()
ax     = fig.add_subplot(111, projection='3d')
colors = 'brgymcwkk'
lines  = [ax.plot([], [], [])[0] for i,c in enumerate(colors)]
pt     = ax.plot([], [], [])[0] 


def animate(i,lines,pts):
   print ('called')
   for j,line in enumerate(lines):
       line.set_data(joints[i,j,0:2])
       line.set_3d_properties(joints[i,j,2])
   pts.set_data(joints[i,:,0:2])
   pts.set_3d_properties(joints[i,:,2])

   return lines,pts

a = animation.FuncAnimation(fig, animate, 25, fargs=(lines,pt),interval=50, blit=False)    
plt.show()