[gradsusr] Colorbars
Clay Blankenship
clay.b.blankenship at nasa.gov
Mon Apr 4 10:59:28 EDT 2011
I had this same issue recently and finally figured out how it works
with some help from this list. What was non-intuitive to me is that
every time you do a 'display' command you have to reset the clevs and
ccols. What I do is specify the cmin, cmax, and cint with script
arguments and then set clevs using those variables each time I do a
display. You can set ccols if you want or just let it get set
automatically. Here is an animation script I am using.
* Display animation
* ga> run ani variable [ -I slowness (default=10) ]
* [ -cint, -ci contour interval ]
* [ -cmin, -mn minimum contour level ]
* [ -cmax, -mx maximum contour level ]
* ex. ga> run ani t-t.2 -ci 0.1 -mn -0.5 -I 5 -cmax 0.3
* >>>> plot (t-t.2) with slowness=5, contour_interval=0.1
* minimum contour level=-0.5, maximum contour level=0.3
*
* Nov. 9, 1999 Masami
Nonaka
*
* Modified by Clay Blankenship 2011
*
function ani (args)
variable=subwrd(args,1)
slow=''
cint=''
cmin=''
cmax=''
cbar=''
n=2
while(n<10000)
idx=subwrd(args,n)
opt=subwrd(args,n+1)
if(idx='');break;endif
if(idx='-I');slow=opt;endif
if(idx='-Int');slow=opt;endif
if(idx='-cint');cint=opt;endif
if(idx='-cmin');cmin=opt;endif
if(idx='-cmax');cmax=opt;endif
if(idx='-ci');cint=opt;endif
if(idx='-mn');cmin=opt;endif
if(idx='-mx');cmax=opt;endif
n=n+2
endwhile
defaultslow=10
if(slow=''); slow=defaultslow;endif
'q dims'
say result
aline=sublin(result,5)
cctime1=subwrd(aline,11)
cctime2=subwrd(aline,13)
tmin=substr(cctime1,1,9)
tmax=substr(cctime2,1,9)
it=tmin
'set dbuff on'
while (it <=tmax)
'set t 'it
i=0
while (i <slow)
*CBB 3/22/11 setting max min clevs
if((ccint!='')&(ccmin!='')&(ccmax!=''))
'make_clevs 'cmin' 'cmax' 'cint
endif
*'set ccols 1 2 3 4 5 6 7 8 9 10 11'
'display 'variable
'run date.gs'
'query shades'
shdinfo = result
if(subwrd(shdinfo,1)!='None');'run fcbar.gs';endif
'swap'
i=i+1
endwhile
it=it+1
endwhile
'set t ' tmin ' ' tmax
****END OF SCRIPT
*Here is make_clevs.gs
*CBB I got this from Ron Goodson on the GRADS User Forum, 3/22/11
*Set a min and max value for the color bar
function main(UserInput)
value = subwrd(UserInput,1)
maxvalue = subwrd(UserInput,2)
incvalue = subwrd(UserInput,3)
space = " "
say value space maxvalue space incvalue
mystring = " "
while (value <= maxvalue)
mystring = mystring%value
mystring = mystring%" "
value = value + incvalue
endwhile
'set clevs ' mystring
say 'clevs are 'mystring
return
On Apr 4, 2011, at 2:29 AM, Simon Kiertscher wrote:
> Yes you can control it by set clevs, but i hoped there would be a
> script
> doing all that for me. I can't use the scripts I found the way they
> are
> at the moment. And doing it by my self would be very expensive. Any
> other ideas?
>
> Best Regards,
> Simon
>> I believe you need to set the clevs so that the range in the color
>> bar is
>> fixed for each timestep at which the variable is plotted
>>
>> set clevs ...
>>
>> --
>> Muhammad Rahiz
>> Researcher & DPhil Candidate (Climate Systems & Policy)
>> School of Geography & the Environment
>> University of Oxford
>>
>> On Fri, 1 Apr 2011, Simon Kiertscher wrote:
>>
>>
>>> Hi All,
>>> I have a question about colorbars. I have already found several
>>> scripts
>>> for drawing a colorbar under a picture (e.g. cbar.gs, xcbar.gs ...).
>>> That works fine. My Problem is, I would like to make a video out
>>> of a
>>> couple of pictures from one time line. The problem is that the
>>> colorbar
>>> always shows the max and min of the current picture. Therefor my
>>> video
>>> has a changing colorbar what is really not what I want. I want to
>>> have
>>> fixed colorbar about the whole video length. I hope i could
>>> explain my
>>> problem good enough. Any ideas how to do that? Are there
>>> eventually a
>>> script which has a parameter to enter the maximum and minimum
>>> values?
>>> Thank & Best Regards,
>>> Simon
>>>
>>> _______________________________________________
>>> gradsusr mailing list
>>> gradsusr at gradsusr.org
>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>
>>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
--
Clay Blankenship * USRA Research Scientist
clay.b.blankenship at nasa.gov * 256-961-7638
320 Sparkman Drive * Huntsville, AL 35805 USA
National Space Science and Technology Center at NASA-MSFC/UAH
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20110404/246c552d/attachment-0003.html
More information about the gradsusr
mailing list