在学习画图的过程中,看了许多大佬的绘图代码收益匪浅。在巨人的肩膀上继续前进,分享这一次的画图。多数没有注释,原理可能需要额外找别的帖子进行查阅。
再次之前,anaconda安装cartopy包也遇到了不少困难,我的解决方案是:装好对应Python版本的四个包:pyshp, Pillow, pyproj, Shapely。另外安装xarray的时候记得安装netcdf4。对应的安装网站在评论区进行分享。
本次画图笔记分成三个部分:
1.文件读取(采用的是WRF输出的wrfout文件)。
2.利用cartopy-读取shp文件,在前面几篇大佬的基础上动用掩模,以及投影兰伯特投影。这里用的是封装函数,我直接写在总代码里。
3.绘制场图,在colorbar上分成几种不同的形式。
读取包
import cartopy.crs as ccrs
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
from cartopy.io.shapereader import Reader
import cartopy.feature as cfeat
import shapefile
from matplotlib.path import Path
from matplotlib.patches import PathPatch
import matplotlib.pyplot as plt
import xarray as xr
import numpy as np
第一步:读取nc文件,这里有的人用netcdf4的库,我这里用的是xarray的库。大同小异,只要能读到nc文件的变量都ok。
ncfile ='' #你的nc文件路径
lon = ncfile['XLAT'].data[0,:,:] #这里时间纬度只有1维 所以第一个是0,后面是全部遍历
lat = ncfile['XLONG'].data[0,:,:]
T2 = ncfile['T2'].data[0,:,:]-273.15 #这里选取了2米温度作为变量,时间为第一个
第二步:(1)掩膜,这里是根据气象家园的大佬写的代码,具体链接内容我在评论区提供: