Python和Basemap:如何从视图中移除墨西哥/加拿大?

4

我正在使用Matplotlib中的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(),这会删除东西两个边界。我找不到任何其他命令可以让我只绘制带有州的美国地图。有什么想法吗?谢谢!
1个回答

6

您需要自己绘制多边形。这可以通过读取shapefile文件来完成。请参见fillstates.py示例,该示例绘制美国各州(不包括墨西哥或加拿大)。


很棒的回答!感谢提供shapefile链接! - mcfly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接