先放meteva的官网
然后,因为meteva的格点数据是采用的xarray的dataset的数据格式,所以,这里也放一下xarray的用户文档
%matplotlib inline
%load_ext autoreload
%autoreload 2
import meteva.base as meb
import numpy as np
import matplotlib.pyplot as plt
from meteva.base.tool.plot_tools import add_china_map_2basemap
import xarray as xr
import cfgrib
#读grib2格式的文件
data = xr.open_dataset('./Z_SURF_C_BABJ_20220927132300_P_CMPA_RT_BEHK_0P01_HOR-PRE-2022092713.GRB2',engine = 'cfgrib')
#把xarray格式的文件转化为meteva中的griddata类型
grd1 =meb.xarray_to_griddata(data,lat_dim = "latitude",lon_dim = "longitude")
#选择合适的经纬度
lat = [i for i in grd1['lat'].data.tolist() if i >18 and i <21]
lon = [i for i in grd1['lon'].data.tolist() if i >108 and i <112]
#选取该经纬度范围内的数据
grd2 = grd1.loc[dict(lon = lon,lat=lat)]
#定义色标和间隔
cmap,clev = meb.def_cmap_clevs(meb.cmaps.rain_1h)
#画填色图
meb.tool.plot_tools.contourf_2d_grid(grd2,add_county_line=True,dpi = 450,show=True,cmap=cmap,clevs=clev,save_path = './图1.png')
#画马赛克图
meb.tool.plot_tools.pcolormesh_2d_grid(grd2,add_county_line=True,dpi = 450,show=True,cmap=cmap,clevs=clev,save_path = './图2.png')
最后得到的图