用matplotlib动画表面

时间:2015-05-28 03:22:29

标签: python matplotlib

我尝试使用matplotlib内置的动画程序来制作表面动画,我不知道我哪里出错了。我按如下方式从磁盘加载一些文件:

def update_profile(j):
    File('u'+str(j)+'.xml')>>u
    u_tri = u.compute_vertex_values(mesh)
    ax.clear()
    plot = ax.plot_trisurf(mesh_tri, u_tri,cmap=cm.coolwarm,edgecolors='none')
    ax.set_title('$t$ = '+ str(dt * j))
    return plot,

fig =plt.figure()
ax = fig.gca(projection='3d')

animation.FuncAnimation(fig, update_profile, range(0,n_steps+1),
                              interval=10)
plt.show()

当加载并绘制单个文件时,没有问题。

1 个答案:

答案 0 :(得分:1)

我想我已经解决了这个问题,但我并不完全确定原因。看一些例子,我一改变了

animation.FuncAnimation(fig, update_profile, range(0,n_steps+1),
                              interval=10)

ani = animation.FuncAnimation(fig, update_profile, range(0,n_steps+1),
                              interval=10)

它按预期工作。任何人都明白为什么?