Tom Bania - 2005-05-30

Here, at the cost of easy .ps plotting, is an alternative:

;+
;   flg_id.pro   set vertical flag at specified channel for line ID
;   ----------   ch=x-axis value for flag   <--- is in plot units, so depends
;                                                on what you have defined and
;                                                are currently displaying
;                lab=string for flag label
;                clr= sys_colour_variable_name
;                Syntax: FLG_ID,channel_to_flag,'label',color
;         
;        colors: !black  !red    !orange   !green  !forest !yellow
;                !cyan   !blue   !magenta  !purple !gray   !white
;-
pro flg_id,ch,lab,clr
;
on_error,2  ; returns to calling procedure on error
;
common gbtplot_common,mystate,xarray
wset,mystate.win_id
;
if (n_params() eq 0) then begin
                     print,'Error: Insufficient information to execute'
                     print,'Syntax: FLG_ID,channel_to_flag,label,color
                     print,'        label must be a "string"'
                     return
                     endif
;
; get data ranges
;
ymin=mystate.yrange[0] & ymax=mystate.yrange[1] &
yrange = ymax-ymin     & yincr=0.025*yrange     &
ylab = ymax+yincr
;
plots,ch,ymin
plots,ch,ymax+yincr,/continue,color=clr
xyouts,ch,ymax+yincr+yincr/5,lab,/data,alignment=0.5,color=clr
;
return
end