我是一名 matlab 用户,最近尝试更多地使用 Python 进行计算。我正在使用 xarray 并希望将地球物理场的经度数组从 0 - 360 更改为 -180 到 180。但是当我这样做时:
df=xr.open_dataset(ecmwf_winds.nc)
u10=df['u10']
lon=df['longitude']
lon = np.where(lon > 180, lon-360, lon)
[X,Y]=np.meshgrid(lon,df.latitude)
plt.contourf(X,Y,u10)
等高线图变得杂乱无章,充满间隙,这是没有意义的。谁能帮我解决一下吗?我不确定我哪里做错了。
另一种更快的方法和更简单的方法,无需使用where
将会
df.coords['lon'] = (df.coords['lon'] + 180) % 360 - 180
df = df.sortby(df.lon)
提示:为了快速绘图,您可以使用 Xarrays 内置绘图功能,这样您就不必创建网格。
df.u10.plot()
#or
df.u10.plt.contourf()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)