Jim Vickroy wrote:
>Thanks for the detailed explanation; I may be starting to understand the 
>significance of *figure*.

>I was hoping to avoid repeated calls like map.drawcoastlines(), 
>map.drawcountries(), map.fillcontinents(color='0.95'), 
>map.drawmapboundary(), map.drawmeridians(plot.arange(0,360,30)), and 
>map.drawparallels(plot.arange(-90,90,30)).  So, I will follow your 
>example and experiment to see what works and what does not to better 
>understand the behaviors.

Hi Jim and others,

You should definitely reuse the basemap instance but from your reply it seems 
like you would also like to reuse the figure instance. The current figure 
instance is changed when you make plot commands like map.drawcountries(). What 
I do is to remove the stuff that should not be reused. That is something like 
this:

# If first time create figure from basemap using my function getfigure
if fig == None:
  fig = getfigure(map)

# The figure I am plotting on has two axes which I change - an axes with the 
plot and an axes with a colorbar
ax = fig.get_axes()[0]
cax = fig.get_axes()[1]

# Create plot and save figure
cs = map.contourf(lon, lat, data, ax=ax)
fig.colorbar(cs, cax=cax, orientation='vertical', extend='both')
fig.savefig(filename)

# Remove contourf axes ContourSets
for c in cs.collections:
  ax.collections.remove(c)

# Remove colorbar axes ContourSets
cax.collections = []

Hope it helps.

Regards,
Jesper

<<winmail.dat>>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to