鸽了好几天,一直没想好更新什么,翻了下以前画过的一些图,突然想到纬高图也是气象研究中心很常见的一类图型,通常用于分析高低空的环流配置,垂直运动等等,那么今天就更新一下。
纬高图一般指的是纵轴是高度轴的图,横轴可以是纬度,经度,时间等等,用于同时分析垂直方向的环流异常等等,我只是叫纬高图比较顺嘴。
1979年9月北半球温度的纬度-高度分布图
我准备的数据是ERA-Interim再分析资料的1979年9月份的温度数据,垂直高度37层,从1000hPa-1hPa,纬度90°N-0°,经度为0-360°。具体如下:
f = xr.open_dataset('t.nc')
t = f['t'].loc['1979-09-01']
high = t.coords['level']
lat = t.coords['latitude']
数据信息
首先对经度维求平均,使数据变为纬度-高度的2维数据。
t = np.array(t).mean((2))-273.15
#print(t)
#(37, 91)
然后就直接用来画图了,按常规操作来画的话,问题出现了:
fig1 = plt.figure(figsize=(12,8))
f1_ax1 = fig1.add_axes([0.1, 0.1, 0.5, 0.5])
f1_ax1.set_xticks(np.arange(0,120,30))
# f1_ax1.set_yscale('symlog')
c = f1_ax1.contourf(lat,level,t, extend = 'both',levels = np.arange(-80,20,4),cmap=plt.cm.RdBu_r)
f1_ax1.set_xticklabels([r'0$^\degree$',r'30$^\degree$N', r'60$^\degree$N', r'90$^\degree$N'])
image.png
纵轴是反着的!
不要紧,加一条这个就好了。翻转y轴!
f1_ax1.invert_yaxis()
进一步,我们想将垂直轴设置成对数坐标轴,只需再添加:
f1_ax1.set_yscale('symlog')
就OK了
网友评论