Python气象数据处理与绘图(8):纬高图(对数坐标轴)

鸽了好几天,一直没想好更新什么,翻了下以前画过的一些图,突然想到纬高图也是气象研究中心很常见的一类图型,通常用于分析高低空的环流配置,垂直运动等等,那么今天就更新一下。
纬高图一般指的是纵轴是高度轴的图,横轴可以是纬度,经度,时间等等,用于同时分析垂直方向的环流异常等等,我只是叫纬高图比较顺嘴。


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了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 说完GPS位置信息接下来说下坐标系。目前主要有三种地理坐标系,如下: 1、WGS84坐标系:即地球坐标系(Worl...
    WXL_JIANSHU阅读 31,743评论 0 4
  • 9月22日,中秋小长假第一天。一大早出发赴郑东新区恒辉酒店,聆听河南省青年书协名师大讲堂毛国典先生讲座。 毛国典先...
    春风小院阅读 4,162评论 0 0
  • 荐语 大部分关于组织行为、领导力的著作都是教授们温情脉脉的实证或实验研究下得出的成果,而本书的画风则完全不同! 本...
    阿龙仔阅读 3,342评论 0 0
  • 嗯,超时了 剪枝了的做法
    April63阅读 1,365评论 0 0
  • 接触简书有两月。 认识了两位写作的朋友。一位是通过新浪微博认识的自由作家,另一位是上面的作家介绍认识的四玛。 认真...
    红衣王大卫阅读 2,593评论 2 4