Comment animer une séquence chronologique de parcelles de matplotlib

Je veux tracer une séquence de .les images png en matplotlib. L'objectif est de tracer rapidement pour simuler l'effet d'un film, mais j'ai d'autres raisons de vouloir éviter de créer réellement un .fichier avi ou de l'enregistrement matplotlib chiffres et l'affichage dans l'ordre, à l'extérieur de Python.

Je suis spécialement essayez d'afficher les fichiers d'image dans la séquence à l'intérieur d'une boucle en Python. En supposant que j'ai importé matplotlib correctement, et j'ai mes propres fonctions 'new_image()' et 'new_rect()', voici un exemple de code qui ne fonctionne pas en raison de l'effet de blocage de la méthode show() de l'appel à la GUI mainloop:

 for index in index_list:
     img = new_image(index)
     rect = new_rect(index)

     plt.imshow(img)
     plt.gca().add_patch(rect)
     plt.show()

     #I also tried pausing briefly and then closing, but this doesn't
     #get executed due to the GUI mainloop from show()
     time.sleep(0.25)
     plt.close()

Le code ci-dessus fonctionne pour n'afficher que la première image, mais ensuite, le programme se bloque et m'attend pour fermer manuellement la résultante de la figure de la fenêtre. Une fois que je ne la fermez, puis le programme se bloque et ne pas re-terrain avec les nouvelles données de l'image. Que dois-je faire? Note aussi que j'ai essayé de remplacer le plt.show() commande avec un plt.draw() de commande, puis en ajoutant le plt.show() en dehors de la boucle for. Cela ne veut pas afficher quoi que ce soit et se contente d'.

source d'informationauteur ely