PRO Modif_Axis, vector
;
;MODIFICATION HISTORY:
;   Created: May 1991, A.Csillaghy


menuLength = 4
menuA = StrArr(menuLength)

nbElems = N_Elements(vector)
IF nbElems EQ 0 THEN BEGIN
  Print, 'Axis must be defined ... '
  Print, ''
  RETURN
ENDIF ELSE IF nbElems EQ 1 THEN step = 0 $
ELSE step = ABS(vector(1) - vector(0))
minVal = MIN(vector)
maxVal = MAX(vector)

REPEAT BEGIN

  menuA(0) = 'Minimum Axis Value: '+STRING(minVal)
  menuA(1) = 'Maximum Axis Value: '+STRING(maxVal)
  menuA(2) = 'Step: '+STRING(step)
  menuA(menuLength-1) = 'Return to Preceeding Menu'

  Clear_Screen
  choice = General_Menu(menuA , $
    'Axis Definition: Choose what to Change')

  IF choice LT 4 THEN PTo,menuLength+5,1,'Old '+menuA(choice-1)
  CASE choice OF
    1: BEGIN
         Read_Test,'New minimum ',0,minVal
         vector=FIndGen(nbElems)*step + minVal
         maxVal = vector(nbElems-1)
       END
    2: BEGIN
         Read_Test,'New maximum ',nbElems,maxVal
         vector=FIndGen(nbElems)*step + ( maxVal - nbElems*step )
         minVal = vector(0)
       END 
    3: BEGIN
         Read_Test,'New step ',1,step
         IF step GT 0.0 THEN BEGIN
           vector=FIndGen(nbElems)*step + minVal
           maxVal = MAX(vector)
         ENDIF ELSE BEGIN
           vector=FIndGen(nbElems)*step + (maxVal -nbElems*step )
           minVal = MIN(vector)
         ENDELSE
       END
  ELSE:
  END
  
END UNTIL choice EQ menuLength 

END