Bonjour,
Je cherche à sauvegarder une animation produite par le code suivant :
Pour cela j'utilise (ani est le nom de la'nimation) :Code:def aff(self,frame,attr,vmin=None,vmax=None,born=True): val = getattr(self,attr) if born: plt.imshow(val[frame],extent=(0,self.L,self.L,0),cmap="seismic",vmin=vmin,vmax=vmax) else: plt.imshow(val[frame],extent=(0,self.L,self.L,0),cmap="seismic") plt.colorbar() def animation(self,attr,fps=5,born=True,begin=0): def func(frame): plt.clf() self.aff(frame,attr,vmin,vmax,born) val = getattr(self,attr) if born: vmin = np.min(val) vmax = np.max(val) fig = plt.figure() return anim.FuncAnimation(fig,func,np.arange(begin,val.shape[0]),interval=1/fps*1000)J'ai aussi testé :Code:ani.save('vortex2.mp4')Dans les deux cas, cela tourne pendant un long moment avant d'afficher uniquement la dernière image.Code:ani.save('vortex2.gif', writer=PillowWriter())
Un fichier vidéo est quand même créé mais il ne comprend qu'une image pendant toute la durée de la vidéo (ce n'est ni la première ni la dernière !).
Je ne comprends pas pourquoi cela ne marche pas, j'ai testé le programme ici, et ça marche.
Il faut noter que l'animation en elle même (sans sauvegarde) fonctionne.
-----