Jeff Whitaker wrote:
> 
> Hrafnkell:
> 
> Had some time this morning, so I used John's method to create a working
> Basemap example:
> 
> import matplotlib
> matplotlib.use('Agg')
> from mpl_toolkits.basemap import Basemap
> import matplotlib.pyplot as plt
> 
> # this example shows how to save a map background and
> # reuse it in another figure.
> 
> # make sure we have all the same properties on all figs
> figprops = dict(figsize=(8,6), dpi=100, facecolor='white')
> 
> # generate the first figure.
> fig1 = plt.figure(1,**figprops)
> ax1 = fig1.add_subplot(111)
> # create basemap instance, plot coastlines.
> map = Basemap(projection='moll',lon_0=0)
> map.drawcoastlines()
> map.drawmapboundary(fill_color='aqua')
> map.fillcontinents(color='coral',lake_color='aqua')
> fig1.canvas.draw()
> background = fig1.canvas.copy_from_bbox(fig1.bbox)
> fig1.savefig('figure1.png', dpi=100)
> 
> 
> # generate the second figure, re-using the background
> # from figure 1.
> fig2 = plt.figure(2,frameon=False,**figprops)
> ax2 = fig2.add_subplot(111, frameon=False, xticks=[], yticks=[])
> # restore previous background.
> fig2.canvas.restore_region(background)
> # draw parallels and meridians on existing background.
> map.drawparallels(range(-90,90,30))
> map.drawmeridians(range(-180,180,60))
> fig2.savefig('figure2.png', dpi=100)
> 
> 
> I've added this to the basemap examples directory as save_background.py
> 
> HTH,
> 
> -Jeff
> 

There's still one snag.
Using your example I could restore the background.
But it turns out everything is plotted over the background; so if my
background consist only of the coastline and then I do a filled contour plot
after restoring it the coastline disappears under the filled contours (by
using the alpha keyword to contourf I could see the coastline beneath).

Had I plotted the coastline into the figure instead of restoring it this
would not have happened.

Is there any way of avoiding this?

Hrafnkell



-- 
View this message in context: 
http://www.nabble.com/Save-a-plot-background-tp20519596p20606641.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to