File: POLPLT.FT of Tape: Various/ETH/eth11-1
(Source file text) 

	SUBROUTINE PLOT(NO,A,N,M,NL,NC,NS)
	DIMENSION OUT(132),YPR(12),BLANK(10),A(1)
	EQUIVALENCE(BL,BLANK)
	INTEGER OUT,BLANK,BL,DIV
	COMMON IOUT,IN
	DATA BLANK/' ','1','2','3','4','5','6','7','8','9'/,DIV/'I'/
C
1	FORMAT(///25X' CHART 'I3//)
2	FORMAT(1X,F11.4,4X,115A1)
4	FORMAT(132A1)
8	FORMAT(9X,12F10.4)
	IFLAG=0
	NLL=NL
	NCC=NC
	IF(NS) 16,16,10
C	SORT BASE VARIABLE DATA IN ASCENDING ORDER
10	NM1=N-1
	DO 15 I=1,NM1
	IP1=I+1
	DO 14 J=IP1,N
	IF(A(I)-A(J)) 14,14,11
11	L=I-N
	LL=J-N
C	SWITCH ROWS
	DO 12 K=1,M
	L=L+N
	LL=LL+N
	F=A(L)
	A(L)=A(LL)
12	A(LL)=F
14	CONTINUE
15	CONTINUE
C	CHECK DEFAULT CONDITIONS
16	IF(NLL.EQ.0) NLL=50
	IF(NCC.EQ.0) NCC=72
C	DETERMINE PLOTTING WIDTH
C	FIND NUMBER OF MARKERS
	DO 90 J=19,139,10
	IF(J-NCC) 90,90,91
90	CONTINUE
91	NTOP=J/10 -1
	NCC=NTOP*10 - 9
C	PRINT TITLE
20	WRITE(IOUT,1) NO
C	FIND SCALE FOR BASE VARIABLE
	XSCAL=(A(N)-A(1))/(FLOAT(NLL-1))
C	FIND SCALE FOR CROSS-VARIABLES
	M1=N+1
	M2=M*N
	YMIN=A(M1)
	YMAX=YMIN
	DO 40 J=M1,M2
	X=A(J)
	IF(X.LT.YMIN) YMIN=X
40	IF(X.GT.YMAX) YMAX=X
	YSCAL=(YMAX-YMIN)/(FLOAT(NCC-1))
C	FIND BASE VARIABLE PRINT POSITION
	XB=A(1)
	L=1
	MYX=M-1
	I=1
45	F=I-1
	XPR=XB+F*XSCAL
	IF(A(L)-XPR) 50,50,70
C	FIND CROSS VARIABLES
50	DO 55 IX=1,132
55	OUT(IX)=BL
	DO 56 IX=1,131,10
56	OUT(IX)=DIV
	DO 60 J=1,MYX
	LL=L+J*N
	JP=((A(LL)-YMIN)/YSCAL)+1.0
60	OUT(JP)=BLANK(J+1)
C	PRINT LINE AND CLEAR OR SKIP
	WRITE(IOUT,2) XPR,(OUT(IZ),IZ=1,NCC)
	L=L+1
	GO TO 80
70	DO 71 IX=1,132
71	OUT(IX)=BL
	DO 72 IX=17,127,10
72	OUT(IX)=DIV
	NC17=NCC+17
	WRITE(IOUT,4) (OUT(IZ),IZ=1,NC17)
80	I=I+1
	IF(I-NLL) 45,84,86
84	XPR=A(N)
	GO TO 50
C	PRINT CROSS-VARIABLES NUMBERS
86	IF(IFLAG) 87,88,87
88	IFLAG=1
	GO TO 70
87	YPR(1)=YMIN
	NM2=NTOP-2
	DO 93 KN=1,NM2
93	YPR(KN+1)=YPR(KN) + YSCAL*10.0
	YPR(NTOP)=YMAX
	WRITE(IOUT,8) (YPR(I),I=1,NTOP)
	RETURN
	END