- 积分
- 2979
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-3-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大家好,我的问题是循环出6张风玫瑰图,可以正常出图,但是当用gsn_panel将6图拼在一块儿的时候就会有一些线不显示warning:TransformPostDraw: tfPolyDrawList element 29 is invalid.
图1
图1是画6张图不拼图时,图二是拼图时
图2拼图
,其中和图一对应的部分如图三,会有线不显示,而且每次运行都是随机有一些不显示。。
图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 提示如图
在xshell里运行 warning如图
谢谢各位。
|
|