;+ ;PROCEDURE: ylim [, str [ , min, max, [ LOG=log ] ] ] ;PURPOSE: ; Sets y-axis limits for plotting routines. ; Adds the tags 'yrange', 'ystyle' and 'ylog' to the structure str, or to the ; limit structure associated with the string str. ;INPUTS: ; str is a: ; CASE 1: structure (or zero or non-existent) ; Structure to be added to. (Created if non-existent) ; CASE 2: string (handle associated with a "TPLOT" variable) ; The limits structure associated with this string is used. This ; structure can be retrieved with the "GET_DATA" procedure. ; min: min value of yrange ; max: max value of yrange ;KEYWORDS: ; LOG: (optional) 0: linear, 1: log ; DEFAULT: Sets default tplot limits. ; STYLE: value to set the IDL plot YSTYLE keyword ;Typical usage: ; ylim,lim,-20,100 ; create (or add to) the structure lim ; ; ylim,'Ne',.01,100,1 ; Change limits of the "TPLOT" variable 'Ne'. ; ;NO INPUTS: ; ylim ; Set "TPLOT" limits using the cursor. ; ;SEE ALSO: "OPTIONS", "TLIMIT", "XLIM", "ZLIM" ;CREATED BY: Davin Larson ;VERSION: ylim.pro ;LAST MODIFICATION: 01/06/25 ;- pro ylim,str,min,max,log,log=lg, style=style, default=default if n_params() eq 0 then begin ctime,t,y,vname=var,npoints=2 while keyword_set(var) ne 0 do begin ylim,var(0),y(0),y(1) ctime,t,y,vname=var,npoints=2 endwhile ; ylimit return end if n_params() eq 1 then begin options,str,'yrange' options,str,'ystyle' options,str,'ylog' return endif if n_elements(lg) ne 0 then log=lg if n_elements(min) eq 2 then max=0 if n_elements(max) eq 0 then range = [0.,0.] else range = float([min,max]) if n_elements(style) eq 0 then style = 1 options,str,'yrange',range(0:1),default=default if range(0) eq range(1) then style=0 options,str,'ystyle',style,default=default if n_elements(log) ne 0 then options,str,'ylog',log,default=default return end