File: GRAPH.FT of Tape: Various/ETH/f2
(Source file text)
SUBROUTINE GRAPH(X,Y,NB,NPOINT) C DIMENSION X(1),Y(1),NB(1),LINEA(120),LRUB(120),XSCALE(24) LOGICAL SQUARE C DATA LINEA /120*1H / C 1000 FORMAT(3X,A6,2H :/10X,1H:) 1001 FORMAT(10X,1H:,120A1) 1002 FORMAT(1X,F8.3,2H :,120A1) 1003 FORMAT(10X,1H-,24A5) 1004 FORMAT(8X,11(F6.3,4X)) C IXAUT=2 XMIN=1. XMAX=-1E100 IYAUT=3 YMIN=1.E100 YMAX=-1.E100 KCOL=91. LINE=55. SQUARE=.F. XAXIS=5H T[K] YAXIS=6HETA[T] C LRUB(1)=1 IF(IXAUT.EQ.0) GO TO 20 DO 10 N=1,NPOINT IF (IXAUT.NE.2) XMIN=AMIN1(XMIN,X(N)) IF (IXAUT.NE.1) XMAX=AMAX1(XMAX,X(N)) 10 CONTINUE 20 IF(IYAUT.EQ.0) GO TO 40 DO 30 N=1,NPOINT IF (IYAUT.NE.2) YMIN=AMIN1(YMIN,Y(N)) 30 IF (IYAUT.NE.1) YMAX=AMAX1(YMAX,Y(N)) 40 DX=(XMAX-XMIN)/(KCOL-1) DY=(YMAX-YMIN)/(LINE-1) IF(.NOT.SQUARE) GOTO 50 DX=DX*10. DY=DY*6. DX=AMAX1(DX,DY) DY=DX DX=DX/10. DY=DY/6. 50 CENX=(XMIN+XMAX)/2. CENY=(YMIN+YMAX)/2. RKCEN=FLOAT(KCOL)/2. RLCEN=FLOAT(LINE)/2. WRITE(4,1000) YAXIS NP=NPOINT DO 100 L=1,LINE KLAST=0 LPOINT=0 IF(NP.EQ.0) GOTO 65 DO 60 N=1,NP NLP=N-LPOINT X(NLP)=X(N) Y(NLP)=Y(N) NB(NLP)=NB(N) IF((RLCEN-(Y(N)-CENY)/DY).GT.FLOAT(L)) GOTO 60 LPOINT=LPOINT+1 K=IFIX(RKCEN+(X(N)-CENX)/DX)+1 LRUB(LPOINT)=K KLAST=MAX0(K,KLAST) IF(NB(N).NE.1) GOTO 51 LINEA(K)=1HE GOTO 60 51 IF(NB(N).NE.2) GOTO 52 LINEA(K)=1H- GOTO 60 52 IF(NB(N).NE.3) GOTO 53 LINEA(K)=1H0 GOTO 60 53 IF(NB(N).NE.4) GOTO 54 LINEA(K)=1H. GOTO 60 54 IF(NB(N).NE.5) GOTO 55 LINEA(K)=1H5 GOTO 60 55 IF(NB(N).NE.6) GOTO 56 LINEA(K)=1H6 GOTO 60 56 LINEA(K)=1H* 60 CONTINUE 65 LINEL=LINE-L LSCALE=(LINEL)/6 IF((6*LSCALE).EQ.(LINEL)) GOTO 70 WRITE(4,1001) (LINEA(K),K=1,KLAST) GOTO 80 70 YSCALE=CENY+DY*(FLOAT(LINEL)-RLCEN+.5) WRITE(4,1002) YSCALE,(LINEA(K),K=1,KLAST) 80 NP=NP-LPOINT DO 90 K=1,LPOINT KL=LRUB(K) 90 LINEA(KL)=1H 100 CONTINUE KSCALE=KCOL/5 IF(KSCALE.EQ.24) KSCALE=23 DO 110 K=1,KSCALE 110 XSCALE(K)=5H^---- WRITE(4,1003) (XSCALE(K),K=1,KSCALE),XAXIS KSCALE=KCOL/10 IF(KSCALE.EQ.12) KSCALE=11 DO 120 K=1,KSCALE 120 XSCALE(K)=CENX+DX*(10.*FLOAT(K-1)-RKCEN+.5) WRITE(4,1004) (XSCALE(K),K=1,KSCALE) RETURN END