我试图在城市地图上绘制一堆点,但我很难找到一个效果很好的套餐.看起来Matplotlib Basemap不包含跨越30英里半径的许多点的足够细节,例如我没有看到一种方法来小规模地添加高速公路和其他区别特征.
因此,我问你是否可以建议如何将这些类型的城市地图特征添加到底图,或者是否有另一个包适用于城市地图上30英里范围的散点图.谢谢你的帮助!
最佳答案
我认为底图会很好用.如果您可以获取地理shapefile,则添加邮政编码边界和主要/次要道路(以及许多其他数据)是没有问题的.这是一个示例输出:
如果您对在美国绘制地点感兴趣,该网站有免费的shapefile:http://www.landsat.com/free-gis-data.html
我使用德州邮政编码和道路数据(和一堆纬度/长坐标)来生成上面的地图.
您可以像这样加载shapefile:
self.map = Basemap(projection='merc',lat_0=mlat,lon_0=mlon,resolution = 'l',area_thresh = 1.0,llcrnrlon=-num,llcrnrlat=num,urcrnrlon=-num,urcrnrlat=num)
map.readshapefile('/home/person/zipfolder/rds/tl_2010_48_prisecroads','Streets',drawbounds = False)
for shape in self.map.Streets:
xx,yy,= zip(*shape)
self.map.plot(xx,linewidth = 1.5,color='green',alpha=.75)
##Same for zip codes