      SUBROUTINE XAXIS( XTIC, IXTIT, IXLEN, IXSIZ, IXFMT )
      BYTE IXTIT(IXLEN)
      INTEGER FORM(3)
      COMMON /HWINDO/ SCRX,SCRY,IXORIG,IYORIG,IASCR,IBSCR,ICSCR,IDSCR
      COMMON /WORLD/ XMINW, XMAXW, YMINW, YMAXW
      COMMON /CHRSIZ/ ICHW(5), ICHH(5)
C
      WHEN ( IXSIZ .GE. 1 .AND. IXSIZ .LE. 5 ) IXS = IXSIZ
      ELSE                                     IXS = 0
      IF ( XTIC .NE. 0. )
         IS = IASCR
         IY = ICSCR - ICHH(MAX0( IXS, 1 )) * 2
         LENTIC = SCRX / 4
         XVAL = XMINW
         IFORM = IFRMT( FORM, IXFMT )
         XMAX = AMAX1( XMINW, XMAXW )
         XMIN = AMIN1( XMINW, XMAXW )
         IW = ICHW(MAX0(IXS,1))
         WHILE ( XVAL .LE. XMAX .AND. XVAL .GE. XMIN )
            WHEN ( XVAL .EQ. XMINW )
               CALL LABELX( XVAL, FORM, IFORM, IS, IY, IW, IXS )
               FIN
            ELSE
               IS = ISCRX( XVAL )
               IF( IS .NE. IBSCR ) CALL DRXTIC(IS, ICSCR, LENTIC)
               CALL LABELX( XVAL, FORM, IFORM, IS, IY, IW, IXS )
               FIN
            XVAL = XVAL + XTIC
            FIN
         FIN
C
C      CENTER HORIZONTAL TITLE AND PLOT
C
      IF( IXS .NE. 0 )
         CALL TRIMSP( IXTIT, IXLEN, IST, IEND )
         IXLN = IEND + 1 - IST
         IXL = IXLN * ICHW(IXS)
         IX = (IASCR + IBSCR - IXL) / 2
         IY = ICSCR - 4 * ICHH(IXS) 
         CALL PLTSTR(IX, IY, IXTIT(IST), IXLN, 1, IXS)
         FIN
C
      RETURN
      END
