Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0026/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