请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8428|回复: 3

[作图] ncl风玫瑰图拼图后 有些线不显示

[复制链接]

新浪微博达人勋

发表于 2018-5-8 14:34:05 | 显示全部楼层 |阅读模式

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

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

x
大家好,我的问题是循环出6张风玫瑰图,可以正常出图,但是当用gsn_panel将6图拼在一块儿的时候就会有一些线不显示warning:TransformPostDraw: tfPolyDrawList element 29 is invalid.

图1

图1
图1是画6张图不拼图时,图二是拼图时

图2拼图

图2拼图
,其中和图一对应的部分如图三,会有线不显示,而且每次运行都是随机有一些不显示。。

图3

图3
,脚本附上:load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/wind_rose.ncl"

begin
wks_type="png"
wks_type@wkWidth=4500
wks_type@wkHeight=4500
wks     =gsn_open_wks(wks_type,"D:/WR/wind_rose/winter3months/city/winter_city")
plot    =new(6,graphic)  

res                         = True
res@gsnDraw                 = False
res@gsnFrame                = False

;8aws的风向panel
;文件名循环打开 先把8站文件名给name
fname ="D:/WR/winterave/id/city.txt"
name  = asciiread(fname,-1,"string")
spdBounds  =(/0.5,1.5,3.,5.,8.,15.,22./)*1.0
colorBounds=(/"black","blue","green","red","yellow","orange","pink"/)

lbres                    = True
lbres@lbAutoManage       = False         ; Necessary to control sizes
lbres@vpWidthF           = 0.05          ; labelbar width
lbres@vpHeightF          = 0.12         ; labelbar height
lbres@vpXF               = 0.5          ; labelbar position in x direction
lbres@vpYF               = 0.2         ; labelbar position in y direction
lbres@lbBoxMajorExtentF  = 0.80          ; puts space between color boxes  样条间隔
lbres@lbFillColors       = colorBounds   ; labelbar colors        
lbres@lbMonoFillPattern  = True          ; Solid fill pattern
lbres@lbLabelFontHeightF = 0.008        ; font height. default is small
lbres@lbPerimOn          = False         ;关闭样条边框
lbres@lbTitleString      ="Wind Speed(m/s)"
lbres@lbTitleFontHeightF = 0.008
;绘制标签
nbar   = dimsizes(spdBounds)
labels = new(nbar,string)
labels(0) = 0 + "-" + spdBounds(0)
do i=1,nbar-1
     labels(i) = spdBounds(i-1) + "-" +spdBounds(i)
end do
lbid = gsn_create_labelbar(wks,nbar,labels,lbres)

draw(lbid)

do ii=0,5
wrname="D:/WR/awsnew/wind/dd2ff2/"+name(ii)+".txt"

wrData=asciiread(wrname,-1,"string")
wspd=stringtofloat(str_get_field(wrData,6," "))
wdir=stringtofloat(str_get_field(wrData,5," "))
wspd@longname="wind speed"
wspd@units   ="m/s"
wdir@longname="wind direction"
numPetals  =16
circFr     =5   ;频数圈间隔
spdBounds  =(/0.5,1.5,3.,5.,8.,15.,22./)*1.0
colorBounds=(/"black","blue","green","red","yellow","orange","pink"/)
res@tiMainString ="wind rose of "+name(ii)
plot(ii)   = WindRoseColor(wks,wspd,wdir,numPetals,\
                        circFr,spdBounds,colorBounds,res)
delete(wrname)
delete(wrData)  
delete(wspd)
delete(wdir)                        ;
end do
pres=True
pres@gsnPanelBottom        = 0.1
gsn_panel(wks,plot,(/2,3/),pres)  ;
在cygwin里运行 warning 提示如图 1525761125(1).png

在xshell里运行 warning如图 1525761185(1).png
谢谢各位。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-11-22 15:10:02 | 显示全部楼层
请问你的问题解决了么,我也遇到了,想问一下是怎么回事
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-18 22:18:48 | 显示全部楼层
楼主解决了吗?遇到了一样的问题,怎么解决呀?求楼主分享一下经验~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-3-31 18:18:28 | 显示全部楼层
请问风频数据需要都进去吗?风速风向就只是一个简单的一维数组吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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