爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11609|回复: 0

[经验总结] gsn_add_polymarker 利用自定义函数绘图标记并绘制实心红星

[复制链接]
发表于 2021-2-18 23:55:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 穿越的小瓶子 于 2021-2-19 00:08 编辑

调用最基本的gsn_add_polymarker 绘制多个记号时出现了错误:
warning:TransformPostDraw: tfPolyDrawList element 0 is invalid      warning:TransformPostDraw: tfPolyDrawList element 1 is invalid
为解决此问题,参考了官网:http://www.ncl.ucar.edu/Document ... dd_polymarker.shtml
通过摸索,具体的解释如下,如有错漏,恳请指正!!感激不尽!
[size=13.3333px]procedure add_markers(wks,plot,x,y,color)   ;自定义函数,调用gsn_add_polymarker
[size=13.3333px]local pmres, str
[size=13.3333px]begin
[size=13.3333px]pmres = True
[size=13.3333px]pmres@gsMarkerColor = color  ;
[size=13.3333px];pmres@gsMarkerIndex = type  ;这里我省去了type,统一绘制同一种记号
[size=13.3333px]pmres@gsMarkerThicknessF   = 1
[size=13.3333px]pmres@gsMarkerSizeF        = 0.01
[size=13.3333px]mstring = "z"     ;画实心红星——-特殊标号类型,类型查找见下方
[size=13.3333px]fontnum = 35      ;表格号
[size=13.3333px]xoffset = 0.0    ;x方向位置偏离情况
[size=13.3333px]yoffset = 0.0    ;y方向位置偏离情况
[size=13.3333px]ratio   = 1.0    ;长宽比例,一般默认为1.0。
[size=13.3333px]size    = 1.2    ;大小
[size=13.3333px]angle   = 0.0    ;旋转情况
[size=13.3333px]new_index = NhlNewMarker(wks,mstring,fontnum,xoffset,yoffset,ratio,size,angle)   ;新定义的index
[size=13.3333px]pmres@gsMarkerIndex = new_index
[size=13.3333px]str = unique_string("polymarker")    ;返回独特数值,针对绘制多个记号尤其需要
[size=13.3333px]plot@$str$ = gsn_add_polymarker(wks, plot, x, y, pmres)   ;绘制标记
[size=13.3333px]return(plot)
[size=13.3333px]end
然后在ncl主程序中引用add_markers函数:
yStation= (/31.7999/)   ;纬度
xStation= (/118.9/)     ;经度
colors  = (/"red"/)     ;颜色
add_markers(wks,plotmap(i),xStation,yStation,colors)
这样就完成了实心红星的标记【强迫症对空心红星实在难以忍受】

**********************************************************************
至于特殊的标记号,可以根据官网进行选择。
不同的表格(fontnum)在这里:http://www.ncl.ucar.edu/Document/Graphics/font_tables.shtml   
各种特殊的符号主要集中在表格18-20,34-37。
点击进去可以根据左上方字符(mstring),选择对应的符号。





评分

参与人数 2金钱 +10 贡献 +1 收起 理由
Persistence.9 + 10 nb plus
叩容 + 1 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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