常用地图底图的绘制一般由Basemap或者cartopy模块完成,由于Basemap库是基于python2开发的一个模块,目前已经不开发维护。
故简单介绍cartopy模块的一些基础操作。
将地球三维球体投影到二维面上,减少失真。
主要方式有默认投影(PlateCarree)、兰勃脱投影(Lambert)、墨卡托投影(Mercator)、极投影。
例一:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
#plt.axes是创建一个轴(或者说是主体) projection参数可以理解为将三维的地理信息如何投影为二维的地理信息,这个时候参数的值就是投影方式,此时是常用的平面投影
ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines() #这个函数是在主体上添加了海岸线
# Save the plot by calling plt.savefig() BEFORE plt.show()
plt.savefig('coastlines.pdf')
plt.savefig('coastlines.png')
plt.show() #将图像显示出来
以上代码是第一个例子,例子的运行结果如下
例二:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
ax = plt.axes(projection=ccrs.Mollweide()) #这里和上一个例子更换了投影方式,投影成了椭圆形
ax.stock_img() #这个方法可以认为是添加了贴纸,让海洋呈现蓝色,将陆地和海洋分开
plt.show()
以上代
