我尝试使用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()
当加载并绘制单个文件时,没有问题。
答案 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)
它按预期工作。任何人都明白为什么?