Eric Firing wrote: > Jeff, > > Basemap methods like plot() include a "draw_if_interactive" command, > followed by a call to the set_axes_limits() method, which ends with > > # force draw if in interactive mode. > if is_interactive(): > figManager = _pylab_helpers.Gcf.get_active() > figManager.canvas.draw() > > It seems to me that you could eliminate all those "draw_if_interactive" > blocks from plot etc., and replace the end block of set_axes_limits() with > > if is_interactive(): > import matplotlib.pyplot as plt > plt.draw_if_interactive() > > The advantages would be reduced clutter in the drawing methods, and > consistent use of draw_if_interactive. I think the latter would make > interactive running of functions and subclasses built on basemap more > efficient by reducing redundant draw operations. > > It also looks like at least most of the operations in set_axes_limits > really need to be done only once (although I have not checked this > carefully). Instead of repeating them with every call to a plotting > method, the basemap instance could keep a list of hashes of axes objects > on which the operations have already been run, and use that to prevent > duplication. > > Nothing urgent here--just some ideas that occur to me while working with > basemap. If you think any are worth pursuing, and you want me to take a > shot at it, let me know. > > Eric > > > Eric: You are right, that could be done much more efficiently. I'm stuck in the U.K. waiting for the volcanic dust to clear, so if you want to take a shot at it go ahead.
-Jeff ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel