SUBROUTINE AXES1(X0,Y0,ANGLE,V0,DV,DL,NMAJ,NMIN,NCHRS) C C This subroutine draws the axis and sets the proper C variables in COMMON /PSTN/. C COMMON /PLTR/ ILun, IDev, IsTerm, IMode, IXMax, IYMax, 1 Cnvrsn, CMag, CnvMag, IX0, IY0, KSetNo, IFancy, IBfDv3, 1 CSize, DeltaH, DeltaV, Upsiln, CosUp, SinUp, WidAdj COMMON /PSTN/ XZero, XScale, LogX, 1 YZero, YScale, LogY, YMin COMMON /AXESC/ CS, SN, SGN, TX, TY, DX, DY, 1 MIN, MIDL, MAX, MIDU, UMAX, WMAX, IFORM, JUSTFY LOGICAL LogX, LogY C A = 0.01745292519943*ANGLE CS = COS(A) SN = SIN(A) SGN = ISIGN(1,NCHRS) C C - CALCULATE THE SIZES OF THE MAJOR AND MINOR TICK MARKS. TX = DeltaV*SN*SGN TY = -DeltaV*CS*SGN TXM = 0.5*TX TYM = 0.5*TY C - CALCULATE THE MAJOR AND MINOR DIVISION STEP SIZES. DX = DL*CS DY = DL*SN IF( NMIN .LE. 1 ) GO TO 100 DXM = DX/NMIN DYM = DY/NMIN C C - DRAW THE AXIS. 100 XP = 0. YP = 0. CALL CALPLT(TX,TY,2) CALL CALPLT(XP,YP,2) C DO 2000 IMAJ=1,NMAJ C C - DRAW MINOR DIVISIONS AND TICK MARKS IF REQUIRED. IF( NMIN .LE. 1 ) GO TO 1100 DO 1000 IMIN=1,NMIN-1 XP = XP+DXM YP = YP+DYM CALL CALPLT(XP,YP,2) CALL CALPLT(XP+TXM,YP+TYM,2) 1000 CALL CALPLT(XP,YP,2) C C - DRAW TO MAJOR DIVISION AND DRAW MAJOR TICK MARK. 1100 XP = DX*IMAJ YP = DY*IMAJ CALL CALPLT(XP,YP,2) CALL CALPLT(XP+TX,YP+TY,2) 2000 CALL CALPLT(XP,YP,2) C C - X AXIS OR Y AXIS? IF( ABS(SN) .GT. .7 ) GO TO 2100 C C - X AXIS XScale = DX/DV XZero = V0-X0/XScale LOGX = .FALSE. RETURN C C - Y AXIS 2100 YScale = DY/DV YZero = V0-Y0/YScale LOGY = .FALSE. YMin = V0 RETURN C END