; this code is used to put a color bar on the map PRO plotcolorlabel,labelname,labelcolor,pos=pos,hor=hor,_EXTRA=extra ; labelname-- string array ; labelcolor --- color index, same size as labelname ; default is vertical bar ; pos=[xleftlow,yleftlow,xupperright,yupperright] ; ver bar pos=[0.88, 0.10, 0.95, 0.90] in normalize coordinates ; hor bar pos=[0.10, 0.88, 0.90, 0.95] , default position ; ; keywords in xyouts... can be passed ; n=n_elements(labelname) x=fltarr(n) y=x IF keyword_set(pos) THEN BEGIN ;pos x0=pos(0) & y0=pos(1) & xr=pos(2) & yr=pos(3) ENDIF ELSE BEGIN ;pos x0=0.88 y0=0.10 xr=0.95 yr=0.90 IF keyword_set(hor) THEN BEGIN ;horizontal bar x0=0.10 & y0=0.88 & xr=0.90 & yr=0.95 ENDIF ;horizontal bar ENDELSE ;pos IF keyword_set(hor) THEN BEGIN tv,labelcolor,x0,y0,xsize=(xr-x0),ysize=(yr-y0),/norm dy=(yr-y0)/1 dx=(xr-x0)/n FOR i=0,n-1 DO BEGIN ;hor bar x(i)=x0+dx*i xyouts,x(i)+0.4*dx,y0-0.1*dy,labelname(i),_EXTRA=extra,/norm ENDFOR ;hor bar ENDIF ELSE BEGIN ;vertical default tv,transpose(labelcolor),x0,y0,xsize=(xr-x0),ysize=(yr-y0),/norm ; write label name dy=(yr-y0)/n dx=(xr-x0)/1 FOR i=0,n-1 DO BEGIN ;vertical bar y(i)=y0+dy*i xyouts,xr+0.1*dx,y(i)+0.4*dy,labelname(i),_EXTRA=extra,/norm ENDFOR ;vertical bar ENDELSE ;vertical default return end