<div dir="ltr">If you have no control over the plotting functions, can not update the artists in place, or just have a sequence of Figure objects, the best approach is probably to so save each frame to png and then use an external program to (eg ffmpeg) stitch them together.  Make sure that you are not using `bbox_inches='tight'`, tight_layour, or contrained layout (so every saved figure is the same size and the axes are in the same place).<div><br></div><div>If you can re-use the same `Figure` object you can directly use the Writer classes is `matplotlib.animation`, see <a href="https://matplotlib.org/api/animation_api.html?highlight=animation#writer-classes">https://matplotlib.org/api/animation_api.html?highlight=animation#writer-classes</a> .  Those instances are bound to a particular Figure, you _may_ be able to just re-set the figure (but not sure what other state we hold based on the initial figure that might need to be updated as well), at a minimum they should be a good starting point to write your self a "concatenate a list of figures into a movie" writer.</div><div><br></div><div>Tom</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, May 31, 2018 at 4:57 AM David Ketcheson <<a href="mailto:david.ketcheson@kaust.edu.sa">david.ketcheson@kaust.edu.sa</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<div dir="ltr">I would like to create an animation from a very complicated plot.  The plot is created by a lot of functions and it's not feasible for me to pass back the handles to all the objects that get added to the plot from all of those functions.  One
 approach that works is to write each plot to a file and then create an animation by loading the images.  Unfortunately, this doesn't look good, presumably because the images are first rasterized and then the resolution is altered.  
<div><br>
</div>
<div>So I'd like to create an animation directly from a set of figures, when all I have are the figures.  I've tried to use get_children() recursively to get all the artists and then use <span class="m_5744805118631863099gmail-n" style="color:rgb(51,51,51);font-family:Monaco,Menlo,Consolas,"courier new",monospace;font-size:0.9em;letter-spacing:0.015em">animation</span><span class="m_5744805118631863099gmail-o" style="font-family:Monaco,Menlo,Consolas,"courier new",monospace;font-size:0.9em;letter-spacing:0.015em;color:rgb(102,102,102)">.</span><span class="m_5744805118631863099gmail-n" style="color:rgb(51,51,51);font-family:Monaco,Menlo,Consolas,"courier new",monospace;font-size:0.9em;letter-spacing:0.015em">ArtistAnimation</span><span class="m_5744805118631863099gmail-p" style="color:rgb(51,51,51);font-family:Monaco,Menlo,Consolas,"courier new",monospace;font-size:0.9em;letter-spacing:0.015em">(), </span>but
 so far this only leads to an empty (blank) animation.  Is it possible to do what I'm attempting?</div>
<div><br>
</div>
<div>-David</div>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1">This message and its contents including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete
 this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.<br>
</font>
</div>

_______________________________________________<br>
Matplotlib-users mailing list<br>
<a href="mailto:Matplotlib-users@python.org" target="_blank">Matplotlib-users@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/matplotlib-users" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/matplotlib-users</a><br>
</blockquote></div>