pro inlegend, linestyles, symbols, texts, xrange, ystart, offset, shift=shift, sep=sep, xlog=xlog, ylog=ylog, circsymsiz=circsymsiz, _extra=extra, color=color size = n_elements(linestyles)<n_elements(texts) if n_elements(symbols) ne 0 then begin size = size < n_elements(symbols) withsymbs=1 symbols = abs(symbols) endif else $ withsymbs=0 if keyword_set(circsymsiz) then $ circ = n_elements(circsymsiz) $ else $ circ = 0 if not keyword_set(sep) then $ sep = 0 $ else $ sep = abs(sep) if not keyword_set(shift) then $ shift = 0 if keyword_set(xlog) then begin if sep ne 0 then $ sep=sign(sep)*alog10(abs(sep)) xcenter = 10^(0.5*(alog10(xrange(0))+alog10(xrange(1)))) endif else begin xcenter = 0.5*(xrange(0)+xrange(1)) xlog = 0 endelse if keyword_set(ylog) then begin offset=sign(offset)*alog10(abs(offset)) if shift ne 0 then $ shift=sign(shift)*alog10(abs(shift)) endif else $ ylog=0 xcenter = [xcenter,xcenter] yrange=[ystart,ystart] ;stop for i=0,size-1 do begin oplot, xrange, yrange, lines=linestyles(i), color=color if withsymbs then begin if symbols(i) eq 8 and i lt circ then $ if circsymsiz(i) ne 0 then $ circ_sym, abs(circsymsiz(i)), fill=circsymsiz(i) lt 0 if symbols(i) ne 0 then $ oplot, xcenter, yrange, ps=-symbols(i), lines=linestyles(i), color=color endif if xlog then $ xpos=10^(alog10(xrange(1))+sep) $ else $ xpos=xrange(1)+sep if ylog then $ ypos=10^(alog10(yrange)+shift) $ else $ ypos=yrange+shift xyouts, xpos, ypos, texts(i), _extra=extra, color=color if ylog then $ yrange=10^(alog10(yrange)+offset) $ else $ yrange = yrange+offset endfor end