在matplotlib中绘制地理图可以使用Basemap库来实现。Basemap是matplotlib的一个扩展库,提供了绘制地理图的功能。下面是绘制地理图的步骤:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
map = Basemap(projection='merc', llcrnrlon=-180, llcrnrlat=-80, urcrnrlon=180, urcrnrlat=80)
这里使用了"merc"投影方式,表示墨卡托投影。llcrnrlon、llcrnrlat、urcrnrlon、urcrnrlat分别表示地图的左下角经纬度和右上角经纬度。
map.drawcoastlines()
map.drawcountries()
map.fillcontinents(color='lightgray')
map.drawmapboundary(fill_color='white')
map.drawparallels(range(-90, 91, 30), labels=[1, 0, 0, 0])
map.drawmeridians(range(-180, 181, 60), labels=[0, 0, 0, 1])
这里设置了经纬线的间隔和标签显示的位置。
lons = [经度列表]
lats = [纬度列表]
x, y = map(lons, lats)
map.plot(x, y, 'ro', markersize=6)
这里的lons和lats分别是经度和纬度的列表,通过map()方法将经纬度转换为地图上的坐标,然后使用plot()方法绘制数据点。
plt.title('地理图')
plt.legend(['数据点'])
plt.show()
这样就可以在matplotlib的子图上绘制地理图了。
推荐的腾讯云相关产品:腾讯云地理位置服务(https://cloud.tencent.com/product/lbs)
腾讯云地理位置服务(Tencent Cloud Location Service)是一款提供全球范围内地理位置信息的服务,可以帮助开发者实现地理位置相关的功能,包括地理编码、逆地理编码、周边搜索、路径规划等。
领取专属 10元无门槛券
手把手带您无忧上云