我绘制的图是网格的填色图,利用掩膜绘制的话,最终的结果边缘感觉很不平滑,就考虑能否使用shp文件,将数据沿着数据的边缘进行裁剪?
代码:是在填色以后再根据shp文件裁剪的,可以理解为在上一篇文章的后面再加上这一段代码就好
#关键代码
shp = gpd.read_file(filePath)
path_clip = Path.make_compound_path(*geos_to_path(shp['geometry'].tolist()))
codes = path_clip.codes
path_clip = Path(proj.transform_points(ccrs.PlateCarree(),path_clip.vertices[:,0], path_clip.vertices[:,1])[:,0:2],codes=codes)
cs.set_clip_path(path_clip, transform=ax.transData)
plt.show()
fig.savefig('剪切.jpg')
成图结果 可以看出最后裁剪出来的效果是沿着shp文件裁剪的