2012-09-04 3 views
4

Matplotlib에서 Basemap을 사용하여 미국지도를 그립니다. 그러나, 나는 미국을 보여주기 위해 멕시코 나 캐나다를 제거 할 수없는 것처럼 보입니다. 나는 국가를 그릴 필요가있다. 현재 내 코드는 다음과 같습니다.python과 Basemap보기에서 멕시코/캐나다를 제거

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()을 주석 처리하면 East 및 West 테두리가 제거됩니다. 나는 미국이 (국가와 함께) 그린 수있는 다른 명령을 찾을 수 없습니다.

아이디어가 있으십니까? 감사!

답변

6

다각형을 직접 그려야합니다. 이것은 shapefile을 읽음으로써 수행 될 수 있습니다. 미국 (멕시코 또는 캐나다 제외)을 표시하는 fillstates.py example을 참조하십시오.

+0

우수 답변! shapefile에 대한 링크도 가져 주셔서 감사합니다! – mcfly