2012-09-04 27 views
4

我在Matplotlib內使用底圖來繪製美國地圖。但是,我似乎無法移除墨西哥或加拿大,只讓美國出現。我也需要畫出這些狀態。目前,我的代碼是:python和底圖,並從視圖中刪除墨西哥/加拿大

self.map = Basemap(llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64, 
           urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45, 
           lon_0=-95, resolution='i', area_thresh=10000,ax=self.axes) 

self.map.drawcoastlines() 
self.map.drawcountries() 
self.map.drawstates() 
self.figure.canvas.draw() 

這顯示了美國墨西哥和加拿大顯示。如果我註釋掉self.map.drawcountries(),那麼美國南部和北部的邊界將被刪除,所以這並沒有幫助。如果我註釋掉self.map.drawcoastlines(),這會消除東西邊界。我找不到任何其他的命令讓我只畫出美國(與國家)。

任何想法?謝謝!

回答

6

您需要自己繪製多邊形。這可以通過讀取shapefile來完成。請參閱fillstates.py example,其中繪製了美國各州(沒有墨西哥或加拿大)。

+0

優秀的答案!感謝您的形狀文件的鏈接! – mcfly

相關問題