Matplotlib aracılığıyla ABD ve Kanada'nın doğu sahil şeridinin bir temel haritası üzerindeki verileri çiziyorum. Taban katmanına (doldurulmuş bir kontur çizimine) ek olarak, Matplotlib'in readshapefile aracı kullanılarak verilerin üzerine bu odak bölgesinin bir şekil dosyasının üzerine yerleştirdim. İçe aktarılan şekil dosyası dışındaki alan (basemap/matplotlib)
def make_map(lon,lat,param):
fig, ax = plt.subplots()
ax.axis('off')
x1 = -83.
x2 = -57.
y1 = 37.
y2 = 50.
projection='merc'
resolution='h'
m = Basemap(projection=projection, llcrnrlat=y1, urcrnrlat=y2, llcrnrlon=x1,
urcrnrlon=x2, resolution=resolution)
x,y = m((lon-360.),lat)
m.ax = ax
my_cmap = cm.get_cmap('coolwarm')
pp = m.contourf(x, y, param, 30, cmap=my_cmap, extend='both')
m.drawmapscale(-67, 39.5, -70, 43.5, 500, fontsize=8, barstyle='fancy')
return fig, m, x, y
def drawstates(ax, shapefile='../StateProv_UTMrp'):
shp = m.readshapefile(shapefile, 'states',zorder = 1, drawbounds=True)
for nshape, seg in enumerate(m.states):
poly = Polygon(seg, facecolor='w',alpha=0.0, edgecolor='k')
ax.add_patch(poly)
fig, m, x, y = make_map(lon, lat, param)
drawstates(m.ax)