回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我用matplotlib绘制了一个图,它可以可视化我的数据,但是为了增加一些细节,我想用一种颜色填充大陆,这样人们就可以区分陆地和海洋了。在</p>
<p>但是如果我把所有这些加在一起,总是在上面画<code>fillcontinents</code>,使我的数据消失。我可以改变<code>alpha</code>,然后我的图再次出现,但这会使我的图的颜色不同。在</p>
<p>我看过一些地图,人们用<a href="http://nbviewer.ipython.org/github/rdhyee/working-open-data/blob/master/notebooks/Day_14_basemap_redux.ipynb#Equal-area-world-map?" rel="nofollow">point data</a>把它弄好了,但我的地图却不能做到。我的代码:</p>
<pre><code>m = Basemap(projection='merc',llcrnrlon=extent[0],
llcrnrlat=extent[3],urcrnrlon=extent[1],
urcrnrlat=extent[2], resolution='h', lat_0=lat_mid,
lon_0=extent[0])
# annotate
m.readshapefile(ShapefileCoastlines, 'coastlines', drawbounds=True, linewidth=0.2, color='0.1')
m.readshapefile(ShapefileCountry, 'country', drawbounds=True, linewidth=0.2, color='0.1' )
m.fillcontinents(color='coral', lake_color='aqua')
m.drawmeridians(np.arange(0,360,15), linewidth=.2, labels=[1,0,0,1], labelstyle='+/-', color='grey' )
m.drawparallels(np.arange(-90,90,15), linewidth=.2, labels=[1,0,0,1], labelstyle='+/-', color='grey')
m.drawmapboundary(linewidth=0.5, color='grey')
# plot data
im1 = m.pcolormesh(xx, yy, data.T, cmap=cmap, norm=norm)
m.colorbar(im1, location='bottom', cmap=cmap, norm=norm, ticks=[-1]+bounds+[1], pad = '6%', extend='both', extendfrac='auto').set_label('units')
</code></pre>