用EAR5 hourly data on pressure levels from 1979 to present的再分析资料,绘制了200hPa、500hPa、700hPa和850hPa的相对湿度和风场。
首先,我们要新建一个大的画布,设置好它的大小和分辨率:
fig = plt.figure(figsize=(12,8),dpi=150)
我们需要画同一时刻四个不同层次,因此我们在这个大画布里设置四个子图,给它们各自起一个名字:
ax1 = plt.subplot(221, projection = proj)
ax2 = plt.subplot(222, projection = proj)
ax3 = plt.subplot(223, projection = proj)
ax4 = plt.subplot(224, projection = proj)
(这里没有用subplots()是因为它好像不支持ccrs.PlateCarree()的投影方式,我就只能这样来做了。而且不能用这个新建子图的方式也让我没办法令子图共用坐标轴,不知道具体是哪里出了问题。。。)
但是,在调用函数的时候,当然还是名字都一样好写一点咯~只画4层情况的话,我使用了range来控制读取的层次,那么,如何将有规律的名字字符串转换为变量的名字,再传入自定义函数中呢?我使用了locals()来达成目的。
for lev in range(0,4):
r = obj['r'][0][lev][:][:]