- 积分
- 200
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-7-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 wangyongtao0929 于 2020-7-14 21:56 编辑
import numpy as np
import xarray as xr
import cartopy.crs as ccrs
import cartopy.feature as cfeat
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import matplotlib.pyplot as plt
# 数据读取及时间平均处理
print("start......")
ds = xr.open_dataset('D:\\Utilities\\wgrib2\\NAFP-HIGF_2020051100_001.nc')
temp = (ds['TMP'] - 273.15)#把温度转换为℃并对其时间纬求平均
temp.attrs['units'] = 'deg C' #温度单位转换为℃
# 创建画图空间
proj = ccrs.Mercator() #创建投影
fig = plt.figure(figsize=(6,9)) #创建页面
ax = fig.subplots(1, 1, subplot_kw={'projection': proj}) #子图
# 设置地图属性:加载国界、海岸线、河流、湖泊
#ax.add_feature(cfeat.BORDERS.with_scale('50m'), linewidth=0.8, zorder=1)
#ax.add_feature(cfeat.COASTLINE.with_scale('50m'), linewidth=0.6, zorder=1)
#ax.add_feature(cfeat.RIVERS.with_scale('50m'), zorder=1)
#ax.add_feature(cfeat.LAKES.with_scale('50m'), zorder=1)
# 设置网格点属性
#gl = ax.gridlines(crs=ccrs.PlateCarree(), draw_labels=True,
# linewidth=1.2, color='k', alpha=0.5, linestyle='--')
#gl.xlabels_top = False #关闭顶端标签
#gl.ylabels_right = False #关闭右侧标签
#gl.xformatter = LONGITUDE_FORMATTER #x轴设为经度格式
#gl.yformatter = LATITUDE_FORMATTER #y轴设为纬度格式
# 设置colorbar
cbar_kwargs = {
'orientation': 'horizontal',
'label': '2m temperature (℃)',
'shrink': 0.8,
'ticks': np.arange(-30,35+5,5)
}
# 画图
levels = np.arange(-30,35+1,1)
temp.plot.contourf(ax=ax, levels=levels, cmap='Spectral_r',
cbar_kwargs=cbar_kwargs, transform=ccrs.PlateCarree())
#plt.show()
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.gca().yaxis.set_major_locator(plt.NullLocator())
plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)
plt.margins(0,0)
plt.savefig('glob2.png', format='png', transparent=True, bbox_inches='tight',dpi = 200,pad_inches = 0)
中国智能网格数据
|
|