View difference between Paste ID: f4eaedd7 and
SHOW: | | - or go back to the newest paste.
1
import matplotlib
2
matplotlib.use('Agg')
3
from mpl_toolkits.basemap import Basemap
4
import matplotlib.pyplot as plt
5
from numpy import array
6
x_min = 10 ; x_max = 21.
7
y_min = -20. ; y_max = -10.
8
lon_box = array ( [x_min, x_min, x_max, x_max, x_min])
9
lat_box = array ( [y_min, y_max, y_max, y_min, y_min])
10
# this example shows how to save a map background and
11
# reuse it in another figure.
12
13
# make sure we have all the same properties on all figs
14
figprops = dict(figsize=(8,6), dpi=100, facecolor='white')
15
16
# generate the first figure.
17
fig1 = plt.figure(1,**figprops)
18
ax1 = fig1.add_axes([0.1,0.1,.8,.8])
19
# create basemap instance, plot coastlines.
20
map = Basemap(projection='moll',lon_0=0)
21
map.drawcoastlines()
22
#map.drawmapboundary(fill_color='aqua')
23
map.fillcontinents(color='coral',lake_color='aqua')
24
ax3 = fig1.add_axes([0.1,0.75,0.25,0.25])
25
m2 = Basemap(projection='ortho',lon_0=6,lat_0=-12,ax=ax3)
26
(x,y) = m2 (lon_box, lat_box)
27
#m2.drawmapboundary(fill_color='#33339F')
28
m2.drawcoastlines(linewidth=0.1)
29
m2.fillcontinents(color='chocolate',lake_color='#33339F')
30
m2.plot ( x, y, '-r', lw=2)
31
fig1.canvas.draw()
32
background = fig1.canvas.copy_from_bbox(fig1.bbox)
33
fig1.savefig('figure1.png', dpi=100)
34
35
36
# generate the second figure, re-using the background
37
# from figure 1.
38
for i in xrange(5):
39
	fig2 = plt.figure(2,frameon=False,**figprops)
40
	ax2 = fig2.add_subplot(111, frameon=False, xticks=[], yticks=[])
41
	#ax2 = fig2.add_axes ([0.1, 0.1, 0.8, 0.8])
42
	# restore previous background.
43
	fig2.canvas.restore_region(background)
44
	# draw parallels and meridians on existing background.
45
	map.drawparallels(range(-90,90,30))
46
	map.drawmeridians(range(-180,180,60))
47
	fig2.savefig('figure%d.png'%(i+2), dpi=100) 
48