爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 25165|回复: 3

[求助] 为什么我画的python极地风场图箭头都在中间。。

[复制链接]

新浪微博达人勋

发表于 2021-3-15 16:57:03 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x


代码如下
du = xr.open_mfdataset('F:/DATA/U/*.nc')
dv = xr.open_mfdataset('F:\\DATA\V\*.nc')
u=du['uwnd']
v=dv['vwnd']

us = du['uwnd'][:,:1,:,:]#[time] [level]
vs = dv['vwnd'][:,:1,:,:]#[time] [level]

umean=us.loc[us.time.dt.season=='JJA'].mean(dim='time').mean(dim='level')
vmean=vs.loc[vs.time.dt.season=='JJA'].mean(dim='time').mean(dim='level')


fig=plt.figure(figsize=(10, 10))
ax=plt.axes(projection=ccrs.NorthPolarStereo(central_longitude=-270))#指明该axes为北半球极地投影,central表述中心经度
box=[-180, 180, 23, 90]

ax.set_extent(box, crs=ccrs.PlateCarree(central_longitude=30))#确定范围,-180°到180°,30°到90°
scale='50m'
ax.coastlines(scale,linewidth=1.2)

theta = np.linspace(0, 2*np.pi, 100) #创建等差数列
center, radius = [0.5, 0.5], 0.5
verts = np.vstack([np.sin(theta), np.cos(theta)]).T
circle = mpath.Path(verts * radius + center)
ax.set_boundary(circle, transform=ax.transAxes)

lat=umean['lat']
lon=umean['lon']
lat= anomalies['lat']
lon= anomalies['lon']


Q = ax.quiver(lon[::2],lat[::2],umean[::2,::2],vmean[::2,::2],width=0.0018,scale=30,headwidth=4)
`U)62D`72WWP{$9MBPCZTSW.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-3-16 00:53:47 | 显示全部楼层
地球要爆炸了。。。检查一下数据的经纬度
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-3-31 21:59:02 | 显示全部楼层
同样的问题。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-7 22:00:36 | 显示全部楼层
不知道解决没有,这个是因为要自己调整scale和width
参考如下plt.quiver(lon,lat,uc,vc,width=0.0035,scale=550,transform=ccrs.PlateCarree())
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表