how to modify the legend? (fwd)

Soni Yatheendradas soni at HWR.ARIZONA.EDU
Fri Jun 10 20:15:15 EDT 2005


        Hi Rafael,
                This might be useful to you perhaps?
   Soni


---------- Forwarded message ----------
Date: Fri, 10 Jun 2005 16:22:56 -0700
From: gustavo at hwr.arizona.edu
To: Soni Yatheendradas <soni at hwr.arizona.edu>
Subject: Re: how to modify the legend? (fwd)

Hello Soni,
pass to your friend Rafael Rosolem, the script below. What matters is the
function colorbar(args) so attention to the way the argument is passed to "%"
symbol for this particular case. Mr. Rosolem could either include the modified
function colorbar in his scripts or create his own UDF (User Defined Function).
Ask him to contact me if more assistence is required.
I think Mike Fiorino already figured something out but I am too lazy to use
google today.
Hope it helps.

Cheers

Gustavo

* just took the cbar.gs and changed the code in order to add symbols
* at the end of the colorbar numbers (if this is what you are looking for)
* probably Mike Fiorino already did something similar.
* Use as function in your scripts
* or create your own grads user defined function (UDF)

'reinit'
'open flx.ft06.200504.ctl'

* I had nothing better (and quick) to think about as an example for
* you at this time so just calculated the percent departure
* of the surface temperature on april 1st 2005 00Z
* from the average temperature for april/2005 reanalysis
* over South America. Just numbers...

'define avetmp=ave(tmpsfc,t=1,t=120)'
'define tmp=100*(tmpsfc(t=1)/avetmp)'
'set gxout shaded'
'd tmp'

* here you chose what symbol you want to come after your values
arg="%"

* plot colobar
colorbar(arg)

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.13'
  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-0.2)%' 'hi' 'args
      else
        'draw string 'xr' '%(yb-0.05)%' 'hi' 'args
      endif
    endif
    num = num + 1
    if (vert); yb = yt;
    else; xl = xr; endif;
  endwhile








Quoting Soni Yatheendradas <soni at hwr.arizona.edu>:

>
>
> ---------- Forwarded message ----------
> Date: Fri, 10 Jun 2005 09:26:30 -0300
> From: Rafael Rosolem <rosolem at GMAIL.COM>
> Reply-To: GRADSUSR at list.cineca.it
> To: GRADSUSR at list.cineca.it
> Subject: how to modify the legend?
>
> Dear all,
>
> I have a simple question:
>
> I have a t-test plot of the precipitation where I define 4 different
> levels of significance which are 75% (1.1517), 90% (1.6480), 95%
> (1.9649), and 99% (2.6862). now I would like to replace the labels from
> numbers to percentage. is there anyway I could do it? does someone have
> a script which does that?
>
> many thanks.
>
> R.
>
> ps: please find attached the figure.
>




-------------------------------------------------



More information about the gradsusr mailing list