如何从数据库(netCDF4)绘制风向量?

时间:2018-03-20 14:42:33

标签: python vector matplotlib-basemap netcdf4

我正在大西洋地图上绘制风矢量。

为了表示我使用此代码的向量,其中u,v,lon和lat是我从数据库获得的变量(以netcdf4格式):

ugrid,newlons = shiftgrid(0.,u,lon, start = False)
vgrid,newlons = shiftgrid(0.,v,lon,start=False)
uproj,vproj,xx,yy = \
map.transform_vector(u,v,newlons,lat,31,31,returnxy=True,masked=True)
Q = map.quiver(xx,yy,uproj,vproj,scale=2000,color='b')

我必须以错误的方式做某事,因为你可以看到图形显示介于-100和0之间的windvector。但是,我的数据库的数据介于-75和0之间。

m6jtr.jpg

谢谢,我。

1 个答案:

答案 0 :(得分:0)

我认为这是因为您实际上并未使用shiftgrid的结果。你的代码可能应该是:

ugrid, newlons = shiftgrid(0., u, lon, start=False)
vgrid, newlons = shiftgrid(0., v, lon, start=False)
uproj, vproj, xx, yy = map.transform_vector(ugrid, vgrid,
                                            newlons, lat, 31, 31,
                                            returnxy=True, masked=True)
Q = map.quiver(xx, yy, uproj, vproj, scale=2000, color='b')