File: AXIS.FT of Tape: Various/ETH/f2
(Source file text) 

	SUBROUTINE AXIS(XAX,YAX,TITLE,NCHR,AXLEN,ANG,FV,DV)
	DIMENSION ARRAY(3)
	DATA PFCT/'.10'/
	ICW=-1
	IF(NCHR.GE.0)ICW=1
	ZANG=ANG
4	IF(ZANG.LT.0.)ZANG=ZANG+360.
	IF(ZANG.GT.360.)ZANG=ZANG-360.
	IF(ZANG.GT.360.).OR.(ZANG.LT.0.)GO TO 4
	CALL XYPLOT(XAX,YAX,-3)
C	MOVE TO START OF AXIS
	XPT=ZANG*.017453294
	CANGL=COS(XPT)
	SANGL=SIN(XPT)
	AFV=.1*SANGL*ICW
	ADV=.1*CANGL*ICW
	XPT=0
	YPT=0
	IXLEN=ABS(AXLEN)
	DO 10 ICHAR=0,IXLEN
	CALL XYPLOT(XPT,YPT,2)
	XTIC=XPT-AFV
	YTIC=YPT+ADV
C	DRAW THE TIC MARKS
	CALL XYPLOT(XTIC,YTIC,2)
	CALL XYPLOT(XPT,YPT,3)
	XPT=CANGL*(ICHAR+1)
	YPT=SANGL*(ICHAR+1)
10	CONTINUE
	IEXP=1
	PWR=1.
	AFV=ABS(FV)
	IF(AFV.EQ.0)AFV=ABS(DV)
	IF(AFV.GE.100) GO TO 30
	IF(AFV.LT.0.01) GO TO 40
C	IEXP=EXPONENT, PWR=POWER IN 10S
20	YTIC=(FV+(DV*IXLEN))/PWR
	XPT=CANGL*IXLEN-(.2*ICW-.05)*SANGL-.0857*CANGL
	YPT=SANGL*IXLEN+(.2*ICW-.05)*CANGL-.0857*SANGL
	DO 50 ICHAR=0,IXLEN
	CALL NUMBER(XPT,YPT,.14,YTIC,ZANG,2)
C	LABEL THE TIC MARK
	XPT=XPT-CANGL
	YPT=YPT-SANGL
	YTIC=YTIC-DV/PWR
50	CONTINUE
	PWR=0
55	IF(IEXP/(10**PWR).LT.10)GO TO 60
	PWR=PWR+1
	GO TO 55
60	ICHAR=IABS(NCHR)
	IF(IEXP.GT.1) PWR=PWR+4
C	FOR THE 10* CHARACTERS, PWR= # OF DIGITS
	ADV=(IXLEN-(ICHAR+PWR)*.14)/2
	XTIC=ADV*CANGL-ICW*.6*SANGL
	YPT=ADV*SANGL+ICW*.6*CANGL
	CALL SYMBOL(XTIC,YPT,.14,TITLE,ZANG,ICHAR)
C	PRINT THE TITLE
	IF(IEXP.LE.1)GO TO 70
	CALL WHERE(XTIC,YTIC,XPT)
	CALL SYMBOL(XTIC,YTIC,.14,PFCT,ZANG,3)
	IF (AFV.LT..01) IEXP=-IEXP+2
	CALL WHERE(XTIC,YTIC,XPT)
	CALL NUMBER(XTIC-.09*SANGL,YTIC+.09*CANGL,.14,IEXP-1,ZANG,-1)
C	PRINT THE EXPONENT
70	RETURN
30	XTIC=AFV/PWR
	IF(XTIC.LT.100.) GOTO 20
	PWR=AINT(PWR*10)
	IEXP=IEXP+1
	GOTO 30
40	XTIC=AFV*PWR
	IF(XTIC.GE.0.01) GOTO 45
	PWR=PWR*10.
	IEXP=IEXP+1
	GOTO 40
45	PWR=1/PWR
C	FOR THE DIVISION ABOVE
	GO TO 20
	END