Trailing-Edge
-
PDP-10 Archives
-
decuslib10-02
-
43,50145/plot.sss
There are 2 other files named plot.sss in the archive. Click here to see a list.
C PLOT 10
C ..................................................................PLOT 20
C PLOT 30
C SUBROUTINE PLOT PLOT 40
C PLOT 50
C PURPOSE PLOT 60
C PLOT SEVERAL CROSS-VARIABLES VERSUS A BASE VARIABLE PLOT 70
C PLOT 80
C USAGE PLOT 90
C CALL PLOT (NO,A,N,M,NL,NS) PLOT 100
C PLOT 110
C DESCRIPTION OF PARAMETERS PLOT 120
C NO - CHART NUMBER (3 DIGITS MAXIMUM) PLOT 130
C A - MATRIX OF DATA TO BE PLOTTED. FIRST COLUMN REPRESENTS PLOT 140
C BASE VARIABLE AND SUCCESSIVE COLUMNS ARE THE CROSS- PLOT 150
C VARIABLES (MAXIMUM IS 9). PLOT 160
C N - NUMBER OF ROWS IN MATRIX A PLOT 170
C M - NUMBER OF COLUMNS IN MATRIX A (EQUAL TO THE TOTAL PLOT 180
C NUMBER OF VARIABLES). MAXIMUM IS 10. PLOT 190
C NL - NUMBER OF LINES IN THE PLOT. IF 0 IS SPECIFIED, 50 PLOT 200
C LINES ARE USED. PLOT 210
C NS - CODE FOR SORTING THE BASE VARIABLE DATA IN ASCENDING PLOT 220
C ORDER PLOT 230
C 0 SORTING IS NOT NECESSARY (ALREADY IN ASCENDING PLOT 240
C ORDER). PLOT 250
C 1 SORTING IS NECESSARY. PLOT 260
C PLOT 270
C REMARKS PLOT 280
C NONE PLOT 290
C PLOT 300
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED PLOT 310
C NONE PLOT 320
C PLOT 330
C ..................................................................PLOT 340
C PLOT 350
SUBROUTINE PLOT(NO,A,N,M,NL,NS) PLOT 360
DIMENSION OUT(101),YPR(11),ANG(9),A(1) PLOT 370
C PLOT 380
1 FORMAT(1H1,60X,7H CHART ,I3,//) PLOT 390
2 FORMAT(1H ,F11.4,5X,101A1) PLOT 400
3 FORMAT(1H ) PLOT 410
4 FORMAT(10H 123456789) PLOT 420
5 FORMAT(10A1) PLOT 430
7 FORMAT(1H ,16X,101H. . . . . PLOT 440
1 . . . . . .) PLOT 450
8 FORMAT(1H0,9X,11F10.4) PLOT 460
C PLOT 470
C ..................................................................PLOT 480
C PLOT 490
NLL=NL PLOT 500
C PLOT 510
IF(NS) 16, 16, 10 PLOT 520
C PLOT 530
C SORT BASE VARIABLE DATA IN ASCENDING ORDER PLOT 540
C PLOT 550
10 DO 15 I=1,N PLOT 560
DO 14 J=I,N PLOT 570
IF(A(I)-A(J)) 14, 14, 11 PLOT 580
11 L=I-N PLOT 590
LL=J-N PLOT 600
DO 12 K=1,M PLOT 610
L=L+N PLOT 620
LL=LL+N PLOT 630
F=A(L) PLOT 640
A(L)=A(LL) PLOT 650
12 A(LL)=F PLOT 660
14 CONTINUE PLOT 670
15 CONTINUE PLOT 680
C PLOT 690
C TEST NLL PLOT 700
C PLOT 710
16 IF(NLL) 20, 18, 20 PLOT 720
18 NLL=50 PLOT 730
C PLOT 740
C PRINT TITLE PLOT 750
C PLOT 760
20 WRITE(6,1)NO PLOT 770
C PLOT 780
C DEVELOP BLANK AND DIGITS FOR PRINTING PLOT 790
C PLOT 800
REWIND 13 PLOT 810
WRITE (13,4) PLOT 820
REWIND 13 PLOT 830
READ (13,5) BLANK,(ANG(I),I=1,9) PLOT 840
REWIND 13 PLOT 850
C PLOT 860
C FIND SCALE FOR BASE VARIABLE PLOT 870
C PLOT 880
XSCAL=(A(N)-A(1))/(FLOAT(NLL-1)) PLOT 890
C PLOT 900
C FIND SCALE FOR CROSS-VARIABLES PLOT 910
C PLOT 920
M1=N+1 PLOT 930
YMIN=A(M1) PLOT 940
YMAX=YMIN PLOT 950
M2=M*N PLOT 960
DO 40 J=M1,M2 PLOT 970
IF(A(J)-YMIN) 28,26,26 PLOT 980
26 IF(A(J)-YMAX) 40,40,30 PLOT 990
28 YMIN=A(J) PLOT1000
GO TO 40 PLOT1010
30 YMAX=A(J) PLOT1020
40 CONTINUE PLOT1030
YSCAL=(YMAX-YMIN)/100.0 PLOT1040
C PLOT1050
C FIND BASE VARIABLE PRINT POSITION PLOT1060
C PLOT1070
XB=A(1) PLOT1080
L=1 PLOT1090
MY=M-1 PLOT1100
I=1 PLOT1110
45 F=I-1 PLOT1120
XPR=XB+F*XSCAL PLOT1130
IF(A(L)-XPR) 50,50,70 PLOT1140
C PLOT1150
C FIND CROSS-VARIABLES PLOT1160
C PLOT1170
50 DO 55 IX=1,101 PLOT1180
55 OUT(IX)=BLANK PLOT1190
DO 60 J=1,MY PLOT1200
LL=L+J*N PLOT1210
JP=((A(LL)-YMIN)/YSCAL)+1.0 PLOT1220
OUT(JP)=ANG(J) PLOT1230
60 CONTINUE PLOT1240
C PLOT1250
C PRINT LINE AND CLEAR, OR SKIP PLOT1260
C PLOT1270
WRITE(6,2)XPR,(OUT(IZ),IZ=1,101) PLOT1280
L=L+1 PLOT1290
GO TO 80 PLOT1300
70 WRITE(6,3) PLOT1310
80 I=I+1 PLOT1320
IF(I-NLL) 45, 84, 86 PLOT1330
84 XPR=A(N) PLOT1340
GO TO 50 PLOT1350
C PLOT1360
C PRINT CROSS-VARIABLES NUMBERS PLOT1370
C PLOT1380
86 WRITE(6,7) PLOT1390
YPR(1)=YMIN PLOT1400
DO 90 KN=1,9 PLOT1410
90 YPR(KN+1)=YPR(KN)+YSCAL*10.0 PLOT1420
YPR(11)=YMAX PLOT1430
WRITE(6,8)(YPR(IP),IP=1,11) PLOT1440
RETURN PLOT1450
END PLOT1460