需要连接地图上已知经纬度(lat1,lon1;lat2,lon2)的两个点,可使用plot来进行连线,basemap中暂没有画箭头的函数,可用plt.arrow绘制箭头。一些更高级的用法,比如画球面距离,可使用drawgreatcircle函数。下图实例为绘制伦敦到纽约的直线以及球面距离。
from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt import numpy as np fig=plt.figure() ax=fig.add_axes([0.1,0.1,0.8,0.8]) mymap = Basemap(llcrnrlon=-100.,llcrnrlat=20.,urcrnrlon=20.,urcrnrlat=60.,\ rsphere=(6378137.00,6356752.3142),\ resolution='l',projection='merc',\ lat_0=40.,lon_0=-20.,lat_ts=20.) # nylat, nylon are lat/lon of New York nylat = 40.78; nylon = -73.98 # lonlat, lonlon are lat/lon of London. lonlat = 51.53; lonlon = 0.08 mymap.drawgreatcircle(nylon,nylat,lonlon,lonlat,linewidth=2,color='b') mymap.plot([nylon,lonlon],[nylat,lonlat],linewidth=2,color='r',latlon='True') mymap.drawcoastlines() mymap.fillcontinents() mymap.drawparallels(np.arange(10,90,20),labels=[1,1,0,1]) mymap.drawmeridians(np.arange(-180,180,30),labels=[1,1,0,1]) plt.show()
以上就是python画地图上标注线的方法。增加了标准之后,看地图是不是更方便了呢~如果有其他标注的方法,也欢迎小伙伴们告诉小编,小编试了之后觉得可行也会分享给更多的小伙伴。让我们一起互相学习,进阶python吧。