import xarray as xr import numpy as np import matplotlib.pyplot as plt import cartopy.crs as ccrs def readdat(pth,var): ds = xr.open_dataset(pth) dat = ds[var] # 只读取每年1月的数据 dat = dat.sel(time=dat['time.month'].isin([1])) dat = dat.loc['1981-01-01':'2018-12-01','500',:,:] return dat if __name__=='__main__': pth=r'D:\6termsx\qhyc\sx1\hgt.mon.mean.nc' hgt=readdat(pth,'hgt') #print(hgt.shape) #print(hgt) wp = np.zeros(38) # 初始化空数组 for i in range(38): wp[i] =0.5*(hgt[i,12,62]-hgt[i,24,62]) wpm=np.mean(wp) #平均 wpa=wp[:]-np.tile(wpm,(wp.shape))#中心化 #print(wpa.shape) wps=wpa/np.tile(np.std(wpa),(wpa.shape))#标准化 #print(wps) x = np.linspace(1981,2018,38) plt.plot(x,wps) plt.show()最后如何将图像保存为PDF
时间: 2023-06-24 13:08:25 浏览: 43
可以使用`plt.savefig()`函数将图像保存为PDF格式,代码如下:
```
import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
def readdat(pth,var):
ds = xr.open_dataset(pth)
dat = ds[var]
# 只读取每年1月的数据
dat = dat.sel(time=dat['time.month'].isin([1]))
dat = dat.loc['1981-01-01':'2018-12-01','500',:,:]
return dat
if __name__=='__main__':
pth=r'D:\6termsx\qhyc\sx1\hgt.mon.mean.nc'
hgt=readdat(pth,'hgt')
#print(hgt.shape)
#print(hgt)
wp = np.zeros(38) # 初始化空数组
for i in range(38):
wp[i] =0.5*(hgt[i,12,62]-hgt[i,24,62])
wpm=np.mean(wp) #平均
wpa=wp[:]-np.tile(wpm,(wp.shape))#中心化
#print(wpa.shape)
wps=wpa/np.tile(np.std(wpa),(wpa.shape))#标准化
#print(wps)
x = np.linspace(1981,2018,38)
plt.plot(x,wps)
plt.savefig('output.pdf')
```
在`plt.savefig()`函数中指定文件名为`'output.pdf'`即可。