时间:2020-10-04 14:42:49 | 栏目:Python代码 | 点击:次
博主最近发现了python中一个好玩的包叫basemap,使用这个包可以绘制地图。值得说一下的是,basemap还没有pip检索,因此不能直接使用pip install basemap,来安装这个包。所以需要自己把下面两个包自行下载,然后在该目录下使用pip安装。
pyproj-1.9.5.1-cp36-cp36m-win_amd64.whl basemap-1.1.0-cp36-cp36m-win_amd64.whl
先上个效果图,可以发现这个工具包还是很强大的,下面介绍下怎么在地图上标注出经纬度的地点。
整个画图流程分为两部分,第一部分是绘制一个世界地图,代码如下:
from mpl_toolkits.basemap import Basemap m = Basemap() # 实例化一个map m.drawcoastlines() # 画海岸线 m.drawmapboundary(fill_color='white') m.fillcontinents(color='white',lake_color='white') # 画大洲,颜色填充为白色 parallels = np.arange(-90., 90., 10.) # 这两行画纬度,范围为[-90,90]间隔为10 m.drawparallels(parallels,labels=[False, True, True, False]) meridians = np.arange(-180., 180., 20.) # 这两行画经度,范围为[-180,180]间隔为10 m.drawmeridians(meridians,labels=[True, False, False, True])
第二部分是标注出经纬度所在的地点,这部分比第一步简单多了,直接用scatter()方法就可以了,代码如下:
lon, lat = m(lon, lat) # lon, lat为给定的经纬度,可以使单个的,也可以是列表 m.scatter(lon, lat, s=100)# 标注出所在的点,s为点的大小,还可以选择点的性状和颜色等属性 plt.show()