comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: colorbar help
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: colorbar help [message #9986] Wed, 01 October 1997 00:00 Go to previous message
R. Bauer is currently offline  R. Bauer
Messages: 137
Registered: November 1996
Senior Member
Rick McDaniel wrote:
>
> Does IDL have a generic procedure to output a colorbar on a contour plot?
>
> I found a procedure on the web, and it works great when device is set to
> the display but it doesn't look the same when device is set to PS. Here's
> my procedure to read in a data file, call a procedure to calculate the
> wavelet transform, and plot the results:
>
> ************************************************************ ********************
> READCOL, 'oct30.dat', time1, data ; reads in the data file
> wave = WAVELET(data,0.0155,PERIOD=period,COI=coi,/PAD,SIGNIF=signif ,SCALE=scale)
> freq = 6/(scale)
> LOADCT,39
>
> !P.font = 0 ;i want hardware fonts
>
> mydevice = !D.NAME
> set_plot, 'PS'
>
> device, filename = 'oct30.ps', /COLOR, /inches
>
> CONTOUR,ABS(wave)^2,time1,freq,xtickformat='xticks',$
> XSTYLE=1,XTITLE='Time',YTITLE='Frequency (Hz)', $
> TITLE='Oct30 Wavelet Power Spectrum',YRANGE=[MIN(freq), 10], $
> pos = [0.2, 0.2, 0.9, 0.9], /YLOG, YSTYLE=1, NLEVELS=25,/FILL
>
> dispbar,250,10,200,5,/Border ; display the color bar, see below
>
> device, /close
>
> set_plot, mydevice
> ************************************************************ ********************
>
> Here's the procedure to display the colorbar:
>
> ************************************************************ ********************
> pro dispbar,cbllx,cblly,cbx,cby,Border=Border
> ;+
> ; NAME:
> ; DISPBAR
> ; DESCRIPTION:
> ; This procedure creates and displays a color bar on the screen.
> ; CALLING SEQUENCE:
> ; DISPBAR,cbllx,cblly,cbx,cby,Border=Border,Vertical=Vertical
> ; INPUT:
> ; CBLLX Color Bar Lower Left hand X coordinate
> ; CBLLY Color Bar Lower left hand Y coordinate
> ; CBX Color Bar X length
> ; CBY Color Bar Y height
> ; OUTPUT:
> ; Screen output only. All passed variables remain unchanged.
> ; OPTIONAL FLAGS:
> ; BORDER Puts a white (BLACK in PS) border around the color bar.
> ; HISTORY:
> ; 30-MAY-90 Version 1 written by Eric W. Deutsch
> ; 24-AUG-91 Added /Border Keyword (E. Deutsch)
> ;-
>
> if (n_params(0) lt 4) then begin
> print,'Call: IDL> DISPBAR,lwrlft_X,lwrlft_Y,X_length,Y_height,[/Border]'
> print,'e.g.: IDL> dispbar,120,30,100,10,/Border'
> return
> endif
>
> if (n_elements(Border) eq 0) then Border=0
>
> if (cby eq 0) or (cbx eq 0) then return
>
> bar=byte(indgen(cbx)*(!d.n_colors*1./cbx<255))
>
> for i=0,cby-1 do tv,bar,cbllx,cblly+i
>
> if (Border eq 1) then plots,[cbllx,cbllx+cbx,cbllx+cbx,cbllx,cbllx], $
> [cblly,cblly,cblly+cby-1,cblly+cby-1,cblly],/device
>
> return
> end
> ************************************************************ ********************
>
> Any help appreciated.
>
> Rick McDaniel
The problem whith this routine is:

a) it uses tv to display a colorbar
that's not good because contours are done by something like plots
and ployfill
To get best results you should use routines which did the colorbar
in the same way as contours are done.
I have one but it's in the moment in building phase (beta).


b) Your colorbar could not be used to print the right levels if nlevels
was used.

c) to print tv ed data you have to open the device whith
bits_per_pixel=8. If you don't you'll will get in the most cases grey
to black colorbars.

--
R.Bauer

Institut fuer Stratosphaerische Chemie (ICG-1)
Forschungszentrum Juelich
email: R.Bauer@fz-juelich.de
[Message index]
 
Read Message
Read Message
Previous Topic: Re: label_date precision problem
Next Topic: Printer colors (Re: colorbar help)

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 15:28:33 PDT 2025

Total time taken to generate the page: 0.00423 seconds