爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 22519|回复: 10

[求助] python画风杆reference参考

[复制链接]

新浪微博达人勋

发表于 2021-8-25 16:42:57 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 单纯xiao可爱 于 2021-8-26 09:52 编辑

想问一下各位python大神们,在python里怎么画出风羽/杆的参考值。我在ncl里是用的下面的代码,但是在python里不知道怎么着手,是用legend还是啥捏,百度不出来,孩子基础又有、、差。类似于用ncl画出来的

vcres@vcRefAnnoString1On = True
vcres@vcRefAnnoString1 = 4
vcres@vcRefAnnoString2On = True
vcres@vcRefAnnoString2 = "m/s"
vcres@vcRefAnnoOrthogonalPosF = -0.17




QQ图片20210826095148.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-8-25 17:57:42 | 显示全部楼层
如果是wind barbs應該是不用給的
https://unidata.github.io/python ... /500hpa_hght_winds/
如果是wind vector的話,請用quiverkey
https://matplotlib.org/stable/ap ... Axes.quiverkey.html
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-8-25 19:36:19 | 显示全部楼层
你的提问是错的,风羽+风向杆=Barb,风向杆与正北的夹角表示风的来向,风羽(我国标准)半根2m/s,一根4m/s,三角/旗代表20m/s,这也是最常见风场形式。
wind vector是风矢量,表示风的去向,长度表示风速,这才有了长度的“(亦即风速大小的)参考”一说。在Python中如下:
#绘制风场(风矢)
uv=plt.quiver(lons[::2,::2],lats[::2,::2],u[::2,::2],v[::2,::2],
             color='k',units='dots',scale=0.5,
regrid_shape=20,transform=proj)
#绘制风矢标
plt.quiverkey(uv, 0.93,-0.05, 20,
            label='20m/s', labelpos='S',transform=proj)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-8-26 08:40:43 | 显示全部楼层
我用0.25分辨率画图用的语句
nSample = 50
ax.barbs(Lons[::nSample], Lats[::nSample], Ugrd[::nSample,::nSample], Vgrd[::nSample,::nSample], color = 'blue', barb_increments={'half':2,'full':4,'flag':20}, transform=ccrs.PlateCarree())
   
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-8-26 09:42:11 | 显示全部楼层
dragonphy 发表于 2021-8-25 17:57
如果是wind barbs應該是不用給的
https://unidata.github.io/python-training/gallery/500hpa_hght_winds/ ...

啊,谢谢。我就是要画wind barbs来着。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-8-26 09:44:38 | 显示全部楼层
edwardli 发表于 2021-8-25 19:36
你的提问是错的,风羽+风向杆=Barb,风向杆与正北的夹角表示风的来向,风羽(我国标准)半根2m/s,一根4m ...

不好意思前辈我提问得不清楚。我是要画wind bars,想跟ncl一样在右下角弄个一个杆等于4m/s。plt.quiverkey是用来画箭头的参考值这个我画过。就是一直不会给bars加个参考值。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-8-26 09:47:13 | 显示全部楼层
虫儿飞 发表于 2021-8-26 08:40
我用0.25分辨率画图用的语句
nSample = 50
ax.barbs(Lons[::nSample], Lats[::nSample], Ugrd[::nSample, ...

谢谢,这个我画过了,就是想再画个参考值。还是谢谢回答。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-8-26 10:01:43 | 显示全部楼层
单纯xiao可爱 发表于 2021-8-26 09:44
不好意思前辈我提问得不清楚。我是要画wind bars,想跟ncl一样在右下角弄个一个杆等于4m/s。plt.quiverke ...

明白意思了。
解决方案:再建一个绘图区,绘制一个26m/s的风,再text标注20、4、2即可。
解决方案2:做一个wind_barb_image.png,添加到绘图区ax的合适位置,推荐使用AnnotationBbox。
因为barb的标准在一定范围内都是统一的:国内20-4-2m/s,国外5-10-50节,除非要跨越区域,一般无需标注。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-8-26 11:48:24 | 显示全部楼层
edwardli 发表于 2021-8-26 10:01
明白意思了。
解决方案:再建一个绘图区,绘制一个26m/s的风,再text标注20、4、2即可。
解决方案2:做一 ...

!!多谢前辈
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-9-1 16:26:37 | 显示全部楼层
{:5_235:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

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

本版积分规则

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

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

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