爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4190|回复: 5

[分享资料] 读不懂cbar.gs。哪位大神帮忙解读一下!!!万分感谢!

[复制链接]
发表于 2013-5-12 11:27:54 | 显示全部楼层 |阅读模式

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

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

x
*
*  Script to plot a colorbar
*
function colorbar (args)
*
*  Check shading information
*
  'query shades'
  shdinfo = result
  if (subwrd(shdinfo,1)='None')
    say 'Cannot plot color bar: No shading information'
    return
  endif
*
*  Get plot size info
*
  'query gxinfo'
  rec2 = sublin(result,2)
  rec3 = sublin(result,3)
  rec4 = sublin(result,4)
  xsiz = subwrd(rec2,4)
  ysiz = subwrd(rec2,6)
  ylo = subwrd(rec4,4)
  xhi = subwrd(rec3,6)
  xd = xsiz - xhi
*
*  Decide if horizontal or vertical color bar
*  and set up constants.
*
  if (ylo<0.6 & xd<1.0)
    say "Not enough room in plot for a colorbar"
    return
  endif
  cnum = subwrd(shdinfo,5)
  if (ylo<0.6 | xd>1.5)
    xl = xhi + xd/2 - 0.4
    xr = xl + 0.2
    xwid = 0.2
    ywid = 0.5
    if (ywid*cnum > ysiz*0.8)
      ywid = ysiz*0.8/cnum
    endif
    ymid = ysiz/2
    yb = ymid - ywid*cnum/2
    'set string 1 l 5'
    vert = 1
  else
    ymid = ylo/2
    yt = ymid + 0.2
    yb = ymid
    xmid = xsiz/2
    xwid = 0.8
    if (xwid*cnum > xsiz*0.8)
      xwid = xsiz*0.8/cnum
    endif
    xl = xmid - xwid*cnum/2
    'set string 1 tc 5'
    vert = 0
  endif
*
*  Plot colorbar
*
#  'set strsiz 0.12 0.12'
  'set strsiz 0.18 0.18'
  num = 0
  while (num<cnum)
    rec = sublin(shdinfo,num+2)
    col = subwrd(rec,1)
    hi = subwrd(rec,3)
    'set line 'col
    if (vert)
      yt = yb + ywid
    else
      xr = xl + xwid
    endif
    'draw recf 'xl' 'yb' 'xr' 'yt
    if (num<cnum-1)
      if (vert)
        'draw string '%(xr+0.05)%' 'yt' 'hi
      else
        'draw string 'xr' '%(yb-0.05)%' 'hi
      endif
    endif
    num = num + 1
    if (vert); yb = yt;
    else; xl = xr; endif;
  endwhile


密码修改失败请联系微信:mofangbao
发表于 2013-5-12 12:00:14 | 显示全部楼层
都是基本语句,查手册吧,而且根本没必要读懂。会用就行。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2013-5-13 10:29:40 | 显示全部楼层

这样画出的cbar,有的时候数值很大或很小的时候,就全部缠到一起,我不知道怎么弄。这样应该怎么改?

图例

图例
密码修改失败请联系微信:mofangbao
发表于 2013-5-13 12:23:13 | 显示全部楼层
那是因为你没设置,调用define-colors,然后自己设置clev和ccol。cbar的东西你改了也没用。

评分

参与人数 1金钱 +2 收起 理由
超级大菜鸟 + 2

查看全部评分

密码修改失败请联系微信:mofangbao
发表于 2017-9-25 12:03:15 | 显示全部楼层
&nbsp;&nbsp;Check shading information
*
&nbsp;&nbsp;'query shades'
&nbsp;&nbsp;shdinfo = result
&nbsp;&nbsp;if (subwrd(shdinfo,1)='None')
&nbsp; &nbsp; say 'Cannot plot color bar: No shading information'
&nbsp; &nbsp; return
&nbsp;&nbsp;endif
密码修改失败请联系微信:mofangbao
发表于 2017-9-25 12:03:35 | 显示全部楼层
tangjie199365 发表于 2017-9-25 12:03
&nbsp;&nbsp;Check shading information
*
&nbsp;&nbsp;'query shades'

求问 这几句是什么意思
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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