I believe I've found a problem with the following cookbook example:
http://www.scipy.org/Cookbook/Matplotlib/Animations?action=show#head-3d51654b8306b1585664e7fe060a60fc76e5aa08.
 Specifically, the example calls canvas.copy_from_bbox() before the
initial draw().  This doesn't throw an error, but will result in unexpected
behavior (I spent an embarrassing amount of time debugging the resulting
confusion in my own code).

The solution I came up with to fix the issue is to structure the code as
follows:

...set up plot...
background = None

def animate(*args):
    global background
    if background is None:
        background = canvas.copy_from_bbox(ax.bbox)
    canvas.restore_region(background)
    ...rest of animation...

gobject.idle_add(animate)
p.show()

This works, but I dislike it for two reasons: I have to use a global
variable, and there is an extra conditional test in every call to the
animation function.  Obviously neither flaw is terribly serious, but I was
wondering if there is a better / accepted way of handling this.  Or, am I
just completely off-base on this whole issue -- I'm new to matplotlib, still
figuring things out.

Thanks,
Drew Frank
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to