Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-07 - decus/20-0173/graph.doc
There is 1 other file named graph.doc in the archive. Click here to see a list.
	This document contains the necessary information to
run the machine dependent graphics subroutines in your instalation.
All the subroutines that call machine dependent routines are stored
in the file machin.ss .

	To get graphics working in your site, read carefully the descriptions
given below for OUR site's routines. Then, find routine in your instalation 
that will be able to do the same job. To enable you to use the pennzyme
program without the graphics, I am providing you with a list of
dummy routines, so that you can link the different pennzyme versions 
without error messages. These dummy routines are stored in dummy.ss
When you have found the equivalents, please delete those dummy subroutines
and substitute the calls in machine.ss for calls to your equivalent 
subroutines.


	The first routine is WHICH(IX), it takes an integer
variable IX and assigns to IX the value -1 if the user is
plotting  using a TEXTRONICS graphics terminal, and 
assigns to IX the value of 0 if the user is using a 
CALCOMP plotter. If you do not have any of the two,
try setting the value to 0 and later try setting it to -1;
one of the two options might be compatible with your
graphics output device. If this does not work, you might
need to find a subroutine within your instalation capable
of doing the work of subroutine AXIS, located in the file
AXIS3.SS. Another (painful) alternative is to try to 
modify the parameters in AXIS to fit your particular 
graphics output device.






                              **********
                      STANDARD PLOTTING PACKAGE
                         ********************
               This is the "Standard" Plotting package as provided  by
          CALCOMP  and  used  by many IBM installations.  This package
          also supports the Tektronix 4010-1 terminals.
PLOTS  STANDARD PLOT PACKAGE                                    Page 2
                      A Sample Plotting Program
                      *************************
     DIMENSION XARRAY(26),YARRAY(26)
               Reserve space for 24 data values  plus  two  additional
          locations   required  by  the  "SCALE",  "AXIS"  and  "LINE"
          subroutines.
10   CALL PLOTS(15.,12.,0)
               Initialize the "PLOT"  subroutines  setting  a  maximum
          size  of 15 inches in the X direction and 12 inches in the Y
          direction.  The last argument,  if  zero,  means  to  direct
          output to the CALCOMP plotter.
20   READ 25,(XARRAY(I),YARRAY(I),I=1,24)
25   FORMAT (2F6.2)
               Read 24 pairs of "TIME" and  "VOLTAGE"  from  an  input
          file into two arrays with names "XARRAY" and "YARRAY".
30   CALL PLOT(0.0,0.5,-3)
               Establish a new origin one-half inch  higher  than  the
          point  where the pen was initially placed by the operator so
          that the annotation of the "TIME" axis will fit between  the
          axis and the edge of the plotting surface.
40   CALL SCALE(XARRAY,5.0,24,1)
               Compute scale factors for use in  plotting  the  "TIME"
          values within a five-inch plotting area.
50   CALL SCALE(YARRAY,6.0,24,1)
               Compute scale factors for use in plotting the "VOLTAGE"
          data  values within a six-inch plotting area (I.E.  the data
          pairs of "TIME" and "VOLTAGE" will plot within a five-by-six
          inch area).
60   CALL AXIS(0.0,0.0,20HTIME IN MILLISECONDS,-20,5.0,0.0,XARRAY
              &(25),XARRAY(26))
               Draw the "TIME" axis (5 inches long), using  the  scale
          factors   computed   in   statement   40  to  determine  the
          milliseconds at each inch along the "TIME" axis.
70   CALL AXIS(0.0,0.0,7HVOLTAGE,7,6.0,90.0,YARRAY(25),
              &YARRAY(26))
               Draw the "VOLTAGE" axis  (6  inches  long),  using  the
          scale  factors  COMPUTED  IN  STATEMENT  50 TO DETERMINE THE
          VOLTAGE AT EACH INCH ALONG THE "VOLTAGE" AXIS.
80   CALL LINE(XARRAY,YARRAY,24,1,2,4)
               PLOT "VOLTAGE" VS "TIME", DRAWING A LINE  BETWEEN  EACH
          OF  THE  24  SCALED  POINTS  AND A SYMBOL "X" AT EVERY OTHER
          POINT.
PLOTS  STANDARD PLOT PACKAGE                                    Page 3
          90   CALL SYMBOL(0.5,5.6,0.21,16HPERFORMANCE TEST,0.0,16)
               PLOT THE FIRST LINE OF THE GRAPH TITLE.
          100  CALL SYMBOL(0.5,5.2,0.14,16HREF. NO. 1623-46,0.0,16)
               PLOT THE SECOND LINE OF THE GRAPH TITLE.
          110  CALL LASPLT
               CLOSE THE OUPUT FILE FOR THE PLOTTER.  WRITE  OUT  LAST
          BUFFER.
          120  STOP
               TERMINATE THE PROGRAM
               END
               REFER TO FIGURE 1 FOR THE PLOTTER OUTPUT FROM THE ABOVE
          PROGRAM.
PLOTS  STANDARD PLOT PACKAGE                                    Page 4
                               FIGURE 1
                      OUPUT FROM SAMPLE PROGRAM
PLOTS  STANDARD PLOT PACKAGE                                    Page 5
                         PLANNING YOUR GRAPH
               GRAPHS AND PLOTS, LIKE COMPUTER LISTINGS, REQUIRE  SOME
          PLANNING  TO  ACHIEVE  A PLEASING AND EFFECTIVE FORMAT.  THE
          FOLLOWING CHECKLIST OF PLOTTING CONVENTIONS IS  LETTER-KEYED
          TO FIGURE 2 TO HELP YOU IN YOUR PLANNING.
       A.  THE INITIAL POSITION OF THE PEN WHEN THE PLOTTING OPERATION
          BEGINS  IS  ASSUMED TO BE THE LOGICAL ORIGIN (X=0,Y=0).  ALL
          PEN MOVEMENTS ARE DEFINED IN X-COORDINATE  AND  Y-COORDINATE
          INCHES  FROM  THE CURRENT ORIGIN.  SUBSEQUENT ORIGINS CAN BE
          ESTABLISHED AT OTHER POSITIONS BY APPROPRIATE PROGRAMMING TO
          PROVIDE  NEW  REFERENCE  POINTS.  (SEE "PLOT") WHEN THE NEXT
          GRAPH IS STARTED, A NEW ORIGIN SHOULD BE DEFINED FAR  ENOUGH
          AWAY  TO  AVOID  ANY  AXIS  OR  ANNOTATION  OVERLAP WITH THE
          PREVIOUS GRAPH.
       B.  ON THE CALCOMP PLOTTER THE  X-AXIS  LIES  PARALLEL  TO  THE
          SIDE,  WITH THE +X DIRECTION TOWARD THE BACK.THE X-AXIS LINE
          OF A GRAPH SHOULD BE AT LEAST 1/2 IMNCH FROM  THE  SIDES  OF
          THE PLOTTER TO LEAVE A MARGIN FOR LABELING.
               THE MAXIMUM WIDTH OF A GRAPH (X-DIRECTION)  IS  LIMITED
          BY  THE  LENGTH  OF  THE PAPER (120 FEET).  THE FACILITY HAS
          ALSO IMPOSED A  100-INCH  LIMIT  FOR  ANY  GIVEN  PLOT  (SEE
          "PLOT").
       C.  THE Y-AXIS IS PARALLEL TO THE PLOTTER'S PEN-CARRIAGE  BEAM.
          THE  Y-AXIS LINE OF A GRAPH SHOULD ALSO BE AT LEAST 1/2 INCH
          FROM THE SIDES OF THE PLOTTER TO  LEAVE  A  MARGIN  FOR  THE
          LABEL AND ANNOTATION.
               THE MAXIMUM HEIGHT  OF  A  GRAPH  (Y-DIRECTION)  IS  11
          INCHES.
       D.  THE ANGLE OF ROTATION ABOUT ANY POINT IS  DETERMINED  BY  A
          VECTOR  WHICH ,WHEN EXTENDED IN THE +X DIRECTION, REPRESENTS
          0 DEGREES.  ANY ANGLE ARGUMENT USED IN  A  CALLING  SEQUENCE
          MAY  BE  STATED  IN  PLUS  OR  MINUS DEGREES RELATIVE TO THE
          X-AXIS.
PLOTS  STANDARD PLOT PACKAGE                                    Page 6
                               FIGURE 2
                       PEN PLOTTING CONVENTIONS
PLOTS  STANDARD PLOT PACKAGE                                    Page 7
                         PLOTS BASIC SOFTWARE
               THE FOLLOWING PAGES DESCRIBE IN DETAIL CALCOMP'S  BASIC
          SOFTWARE, WHICH COMPRISES SIX SUBROUTINES THAT CAN BE CALLED
          BY YOUR  FORTRAN  PROGRAM.   THESE  SUBROUTINES  ARE  CALLED
          "PLOT","SYMBOL","NUMBER","SCALE"     ,"AXIS",AND     "LINE".
          THEY,IN TURN, CALL UPON EACH OTHER FOR  CERTAIN  OPERATIONS.
          A   PARTICULAR   APPLICATION  MAY  NOT  NEED  ALL  OF  THESE
          SUBROUTINES, DEPENDING ON THE USER'S REQUIREMENTS.
 PLOT     CONVERTS ALL PEN  MOVEMENT  SPECIFICATIONS  FROM  INCHES  TO
          ACTUAL  PLOTTER  COMMANDS, AND OUTPUTS THESE TO THE ATTACHED
          DEVICE.
 SYMBOL   DRAWS ANY SEQUENCE OF  ALPHAMERIC  CHARACTERS,  AS  WELL  AS
          SPECIAL POINT-PLOTTING SYMBOLS.  IT CALLS ONLY "PLOT".
 NUMBER   DRAWS THE DECIMAL EQUIVALENT OF  AN  INTERNAL  FLOATING-POIN
          NUMBER.  IT CALLS ONLY "SYMBOL", WHICH THEN CALLS "PLOT".
 SCALE    EXAMINES A DATA ARRAY TO DETERMINE AN OPTIMUM STARTING VALUE
          AND  A  SCALING  FACTOR  FOR  USE  BY  "AXIS"  AND "LINE" IN
          CONVERTING DATA UNITS TO PLOTTER PAGE DIMENSIONS.  IT IS THE
          ONLY  SUBROUTINE  THAT  DOES  NOT CALL ANY OTHER, BECAUSE IT
          DOES NO ACTUAL PLOTTING.
 AXIS     DRAWS AN AXIS LINE WITH THE APPROPRIATE SCALE ANNOTATION AND
          TITLE.  IT CALLS "SYMBOL" AND "NUMBER" AS WELL AS "PLOT".
 LINE     PLOTS A SERIES OF SCALED DATA POINTS DEFINED BY  TWO  ARRAYS
          (X  AND  Y),CONNECTING  THE  POINTS  WITH  STRAIGHT LINES IF
          DESIRED.  IT MAY CALL "SYMBOL" AS WELL AS "PLOT".
               THE ARGUMENT NAMES USED  IN  THE  FOLLOWING  SUBROUTINE
          DESCRIPTIONS CONFORM TO STANDARD FORTRAN CONVENTIONS: IF THE
          FIRST LETTER IS I,J,K,L,M, OR N, THE  ARGUMENT  MUST  BE  AN
          INTEGER  VALUE; IF IT IS ANY OTHER LETTER, THE ARGUMENT MUST
          BE A REAL FLOATING-POINT VALUE.   THE  DESCRIPTION  OF  EACH
          ARGUMENT  IS GENERALLY CONSISTENT FOR MOST COMPUTERS AND FOR
          ALL "CALCOMP" PEN PLOTTING SYSTEMS.  HOWEVER, THE PROGRAMMER
          SHOULD  ALSO REFER TO THE "CALCOMP" PROGRAMMING SUPLEMENT ON
          THE COMPUTER SYSTEM BEING USED, SO THAT HE WILL BE  INFORMED
          OF ANY SPECIAL CONSIDERATIONS.
PLOTS  STANDARD PLOT PACKAGE                                    Page 8
                           PLOT SUBROUTINE
               MOST GRAPHIC APPLICATIONS REQUIRE THE GENERATION OF X-Y
          GRAPHS  TO SHOW THE RELATIONSHIP BETWEEN TWO OR MORE SETS OF
          DATA.  USUALLY THESE  GRAPHS  CAN  BE  PRODUCED  EASILY  AND
          QUICKLY  BY  A  SUITABLY  PROGRAMMED COMBINATION OF THE FIVE
          SUPPORTING  SUBROUTINES  "SCALE","AXIS","LINE","SYMBOL"  AND
          "NUMBER".  THESE SUBROUTINES DO NOT DIRECTLY PRODUCE PLOTTER
          COMMANDS;  THEY  ONLY  COMPUTE  APPROPRIATE  ARGUMENTS  THAT
          DEFINE  PEN  POSITIONS, AND THEN CALL THE "PLOT" SUBROUTINE,
          WHICH GENERATE THE ACTUAL PLOTTER COMMANDS.
               WHEN UNIQUE PLOTTING REQUIREMENTS CANNOT  BE  SATISFIED
          BY  USING THE SUPPORTING SUBROUTINES, THE USER CAN RESORT TO
          THE "PLOT" SUBROUTINE , WHICH GIVES HIM  DIRECT  CONTROL  OF
          PEN  MOVEMENT  (TO  ANY  X,Y  COORDINATES  POSITION) AND PEN
          STATUS (UP OR DOWN).
               BY CALLING THE "PLOT" SUBROUTINE WITH A DIFFERENT ENTRY
          NAME  ("PLOTS","FACTOR","WHERE","LASPLT"), THE USER ALSO HAS
          CONTROL OF: OUTPUT DEVICE OPENING AND CLOSING, ENLARGING  OR
          REDUCING A PLOT; OR LOCATION OF PENS CURRENT POSITION.  EACH
          ENTRY IS DESCRIBED SEPARATELY BELOW.
                              PLOT ENTRY
               THE "PLOT" ENTRY  TO  THE  "PLOT"  SUBROUTINE  IS  USED
          PRIMARILY  TO  MOVE  THE  PEN  IN  A  STRAIGHT LINE TO A NEW
          POSITION,  WITH  THE  PEN  EITHER  UP  OR  DOWN  DURING  THE
          MOVEMENT.   IT  CONVERTS  THE  ARGUMENTS  TO THE APPROPRIATE
          SEQUENCE OF PLOTTER  COMMANDS,  AND  OUTPUTS  THESE  TO  THE
          ATTACHED  DEVICE (PLOTTER OR TEKTRONIX 4010-1).NOTE THAT THE
          "PLOTS" ENTRY MUST BE CALLED BEFORE ANY  OTHER  ENTRIES  ARE
          CALLED.
               THE CALLING SEQUENCE HAS THREE ARGUMENTS:
          CALL PLOT(XPAGE,YPAGE,+OR- IPEN)
 XPAGE,   ARE THE X, Y COORDINATES, IN INCHES FROM THE CURRENT
 YPAGE    REFERENCE POINT(ORIGIN), OF THE POSITION TO WHICH THE PEN IS
          TO  BE MOVED.  AN ORIGIN (WHERE BOTH X, Y EQUAL ZERO) MAY BE
          ESTABLISHED ANYWHERE ON THE PLOTTING SURFACE,  AS  EXPLAINED
          BELOW FOR NEGATIVE IPEN VALUES.
PLOTS  STANDARD PLOT PACKAGE                                    Page 9
 +OR- IPEN IS A SIGNED INTEGER WHICH CONTROLS PEN UP/DOWN  STATUS  AND
          ORIGIN DEFINITION.
          IF IPEN = 2, THE PEN IS DOWN DURING MOVEMENT, THUS DRAWING A
          VISIBLE LINE.
          IF IPEN = 3, THE PEN IS UP DURING MOVEMENT.
          IF IPEN = -2 OR -3, A NEW ORIGIN IS DEFINED AT THE  TERMINAL
          POSITION  AFTER  THE  MOVEMENT  IS COMPLETED AS IF IPEN WERE
          POSITIVE.  THE LOGICAL X,  Y  COORDINATES  OF  THE  NEW  PEN
          POSITION ARE SET EQUAL TO ZERO, SO THAT THAT POSITION IS THE
          REFERENCE POINT FOR SUCCEEDING PEN MOVEMENTS.
          IF IPEN = 999, THE PLOTTER BUFFER IS  CLOSED.   TO  DO  MORE
          PLOTS, ANOTHER "PLOTS" CALL MUST BE USED.
          If IPEN is 12, 13, -12 or -13 the same action is taken as if
          it were 2, 3, -2 or -3, and, in addition, the offset factors
          (entered through a CALL OFFSET) are applied to  compute  the
          new pen position.
PLOTS  STANDARD PLOT PACKAGE                                   Page 10
                             PLOTS ENTRY
               THE "PLOTS" ENTRY IS  USED  TO  INITIALIZE  THE  "PLOT"
          SUBROUTINE.   IT MUST BE CALLED ONLY ONCE - BEFORE ANY OTHER
          CALL TO "PLOT","SYMBOL" ,"NUMBER","AXIS","LINE" OR ANY OTHER
          PLOTTING  SUBROUTINE  UNLESS SPECIFIED OTHERWISE.  THIS CALL
          IS USED TO SPECIFY WHICH DEVICE IS TO  RECIEVE  THE  PLOTTER
          OUTPUT  (CALCOMP  OR  TEKTRONIX  4010-1),  AND IF DESIRED TO
          SPECIFY  THE  LIMITS  IN  INCHES  ALLOWED  FOR  THE  PLOTTER
          OUTPUT(CALCOMP ONLY).
               THIS ENTRY'S CALLING SEQUENCE ALSO HAS THREE ARGUMENTS:
          CALL PLOTS(XLIM,YLIM,LDEV)
 XLIM,    ARE THE LIMITS IN INCHES IN THE X AND Y DIRECTIONS FOR THE
 YLIM     PLOTTER OUTPUT (ONLY  APPLIES  TO  CALCOMP  OUTPUT).   IF  A
          MOVEMENT  IS ATTEMPTED BEYOND THESE LIMITS (FROM THE ORIGIN)
          THE JOB IS ABORTED.
 LDEV     IS THE OUTPUT DEVICE NUMBER.  LDEV = 0 MEANS USE THE CALCOMP
          PLOTTER  AS  THE  OUTPUT  DEVICE.   LDEV  =  5 MEANS USE THE
          TEKTRONIX 4010-1 AS THE OUTPUT  DEVICE.   LDEV  MUST  BE  AN
          INTEGER ARGUMENT.
               The "PLOTS" call initializes the "FACTOR"  (see  below)
          to 1.0.
               IF THE CALCOMP  PLOTTER  IS  BEING  USED,  THE  DEFAULT
          ORIGIN (0.,0.) IS SET 1 INCH FROM THE RIGHT HAND SIDE OF THE
          DRUM.  THE +Y DIRECTION IS FROM THE ORIGIN  DIRECTLY  ACROSS
          THE  DRUM TO THE LEFT.  THE +X DIRECTION IS TOWARDS THE BACK
          OF THE DRUM, IE, DRUM ROTATION TOWARDS THE FRONT.
               ON THE TEKTRONIX 4010-1 THE DEFAULT ORIGIN  IS  AT  THE
          LOWER  LEFT  HAND  SIDE  OF THE SCREEN.  THE +Y DIRECTION IS
          FROM THE ORIGIN UP TO THE TOP OF THE SCREEN(780 POINTS)  AND
          IS  LIMITED TO 7.8 INCHES.  THE +X DIRECTION IS FROM LEFT TO
          RIGHT (1024 POINTS) AND 10.24 INCHES.
PLOTS  STANDARD PLOT PACKAGE                                   Page 11
                             FACTOR ENTRY
               THE "FACTOR" ENTRY TO THE "PLOT" SUBROUTINE ENABLES THE
          USER  TO  ENLARGE  OR  REDUCE THE SIZE OF THE ENTIRE PLOT BY
          CHANGING THE RATIO OF THE DESIRED PLOT SIZE  TO  THE  NORMAL
          PLOT SIZE.
          CALL FACTOR (FACT)
 FACT     IS THE RATIO OF THE DESIRED PLOT SIZE  TO  THE  NORMAL  PLOT
          SIZE.   FOR  EXAMPLE,  IF  "FACT"  = 2.0, ALL SUBSEQUENT PEN
          MOVEMENTS WILL BE TWICE THEIR NORMAL SIZE.  WHEN  "FACT"  IS
          RESET TO 1.0, ALL PLOTTING RETURNS TO NORMAL SIZE.
                             WHERE ENTRY
               THE "WHERE" ENTRY SETS THE THREE  VARIABLES  DESIGNATED
          IN  THE  CALLING  SEQUENCE  TO  THE  PEN'S  CURRENT POSITION
          COORDINATES AND THE PLOT-SIZING FACTOR (THAT ARE IN  USE  BY
          THE   "PLOT"   SUBROUTINE).    THIS   PERMITS   USER-WRITTEN
          SUBROUTINES  TO  KNOW  THE  PEN'S   CURRENT   LOCATION   FOR
          OPTIMIZING PEN MOVEMENT.
               THERE ARE THREE ARGUMENTS IN THE CALLING SEQUENCE:
          CALL WHERE(RXPAGE,RYPAGE,RFACT)
 RXPAGE,  ARE VARIABLES THAT WILL BE SET TO THE PEN'S CURRENT POSITION
 RYPAGE   COORDINATES RESULTING  FROM  THE  PREVIOUS  CALL  TO  "PLOT"
          (WHICH  MAY  HAVE BEEN CALLED BY "SYMBOL","NUMBER","AXIS" OR
          "LINE").
 RFACT    IS SET TO THE CURRENT PLOT-SIZING FACTOR;  I.E.,  THE  VALUE
          LAST  SUPPLIED BY A CALL TO "FACTOR", OR 1.0 IF "FACTOR" HAS
          NOT BEEN CALLED.
PLOTS  STANDARD PLOT PACKAGE                                   Page 12
                             LASPLT ENTRY
               THE "LASPLT" ENTRY MUST BE USED TO  CLOSE  THE  PLOTTER
          OUTPUT FILE.  THIS CALL WILL CLOSE THE PLOTTER OUTPUT DEVICE
          AND WRITE OUT ANY PARTIALLY FILLED BUFFERS.IF  YOU  WISH  TO
          CONTINUE  PLOTTING  AFTER  A  "LASPLT"  CALL  YOU  MUST CALL
          "PLOTS" AGAIN.
               THERE ARE NO ARGUMENTS TO THE "LASPLT" ENTRY.
          CALL LASPLT
               CLOSE THE PLOTTER OUTPUT FILE.
PLOTS  STANDARD PLOT PACKAGE                                   Page 13
OFFSET
                                OFFSET
               This entry sets the values of the offset  factors  that
          will  be  employed whenever a call to PLOT has an IPEN value
          equal to 12, 13, -12 or -13.
                         CALL OFFSET (XOFF,XFCT,YOFF,YFCT)
          XOFF, YOFF = the x and y offsets  that  will  be  subtractes
                         from  XPAGE  and  YPAGE  when the appropriate
                         call to PLOT is provided.
          XFCT, YFCT = the X and Y division  factors  that  XPAGE  and
                         YPAGE will be divided by when the appropriate
                         call to PLOT is provided.
            When a call to PLOT has an IPEN value of 12,  13,  -12  or
       -13, the values of XPAGE and YPAGE are altered as follows:
                XPAGE = (XPAGE-XOFF)/XFACT
                YPAGE = (YPAGE-YOFF)/YFACT
                                FSETON
          CALL FSETON
                         THIS CALL WILL FORCE ALL  "PLOT"  CALLS  WITH
                         IPEN  VALUE  OF  2,3,  OR -2,-3 TO USE OFFSET
                         ALSO.
                                FSETOF
          CALL FSETOF
                         RETURN  OFFSET  TO  NORMAL  STATUS,I.E,  ONLY
                         OFFSET   "PLOT"  CALLS  WITH  IPEN  VALUE  OF
                         12,13,-12,OR -13.
PLOTS  STANDARD PLOT PACKAGE                                   Page 14
SYMBOL
                                SYMBOL
                                ******
                         AUTHOR:  JACK LONDON
                         ********************
                              THE "SYMBOL"  SUBROUTINE  PRODUCES  PLOT
                         ANNOTATION  AT  ANY  ANGLE AND IN PRACTICALLY
                         ANY  SIZE.   THERE  ARE  TWO  "SYMBOL"   CALL
                         FORMATS: 1) THE "STANDARD" CALL, WHICH CAN BE
                         USED TO DRAW TEXT SUCH AS  TITLES,  CAPTIONS,
                         AND LEGENDS; AND 2) THE "SPECIAL" CALL, WHICH
                         IS USED TO DRAW SPECIAL CENTERED SYMBOLS SUCH
                         AS   A  BOX,  OCTAGON,  TRIANGLE,  ETC.,  FOR
                         PLOTTING DATA POINTS.
                              THE STANDARD CHARACTERS THAT  ARE  DRAWN
                         BY  "SYMBOL"  INCLUDE THE LETTERS A-Z, DIGITS
                         0-9, AND  CERTAIN  SPECIAL  CHARACTERS.   SEE
                         "POINT"   FOR   A   LIST  OF  THE  CHARACTERS
                         AVAILABLE FOR THE "SPECIAL" SYMBOL CALL.
                         BOTH FORMS OF THE "SYMBOL"  CALLING  SEQUENCE
                         HAVE SIX ARGUMENTS.
                         THE "STANDARD" CALL IS:
                         CALL
                         SYMBOL(XPAGE,YPAGE,HEIGHT,IBCD,ANGLE,+NCHAR)
                XPAGE, ARE THE COORDINATES, IN INCHES,  OF  THE  LOWER
                         LEFT-HAND 
                YPAGE CORNER (BEFORE CHARACTER ROTATION) OF THE  FIRST
                         CHARACTER  TO  BE  PRODUCED.   THE  PEN IS UP
                         WHILE MOVING TO THIS POINT.
                         ANNOTATION MAY BE CONTINUED FROM THE POSITION
                         FOLLOWING  THAT  AT WHICH THE LAST ANNOTATION
                         ENDED.  CONTINUATION OCCURS WHEN XPAGE AND/OR
                         YPAGE  EQUALS  999.0, AND MAY BE APPLIED TO X
                         OR Y INDEPENDENTLY.
                HEIGHT IS THE HEIGHT, IN INCHES, OF THE  CHARACTER  TO
                         BE PLOTTED.  FOR BEST RESULTS, IT SHOULD BE A
                         MULTIPLE OF SEVEN TIMES THE PLOTTER INCREMENT
                         SIZE  (E.G.,  .07,  .14, .21 ETC.), BUT OTHER
                         VALUES  ARE  ACCEPTABLE.   THE  WIDTH  OF   A
                         CHARACTER,  INCLUDING  SPACING  IS 6/7 OF THE
                         HEIGHT (E.G., A STRING OF 10 CHARACTERS  0.14
                         INCH HIGH IS 1.2 INCHES WIDE).
                IBCD IS THE TEXT, IN INTERNAL COMPUTER  REPRESENTATION
                         (ASCII),  TO  BE  USED  AS  ANNOTATION.   THE
                         CHARACTER(S)  MUST  BE  LEFT  JUSTIFIED   AND
                         CONTIGUOUS  IN:  A SINGLE VARIABLE, AN ARRAY,
                         OR IN AN ASCII LITERAL.
PLOTS  STANDARD PLOT PACKAGE                                   Page 15
SYMBOL
                         THE TEXT MUST BE RIGHT JUSTIFIED IN ASCII  IF
                         A SINGLE CHARACTER IS DESIRED AND "NCHAR" =0.
                ANGLE IS THE ANGLE, IN DEGREES  FROM  THE  X-AXIS,  AT
                         WHICH  THE  ANNOTATION  IS TO BE PLOTTED.  IF
                         "ANGLE"  =  0.   THE  CHARACTER(S)  WILL   BE
                         PLOTTED  RIGHT  SIDE  UP  AND PARALLEL TO THE
                         X-AXIS.
                +NCHAR IS THE NUMBER OF CHARACTERS TO BE PLOTTED  FROM
                         "IBCD".   IF "NCHAR" GREATER THAN 0, THE DATA
                         MUST BE LEFT-JUSTIFIED IN THE  FIRST  ELEMENT
                         OF "IBCD".
                         IF "NCHAR" = 0, ONE ALPHAMERIC  CHARACTER  IS
                         PRODUCED,  USING  A SINGLE CHARACTER WHICH IS
                         RIGHT-JUSTIFIED  IN  THE  FIRST  ELEMENT   OF
                         "IBCD".
                         THE SECOND FORM IS THE "SPECIAL" CALL,  WHICH
                         PRODUCES  ONLY  A  SINGLE SYMBOL BASED ON THE
                         INDEX VALUE OF "INTEQ"-NOT ON THE  THE  ASCII
                         REPRESENTATION OF A CHARACTER.
                         CALL
                         SYMBOL(XPAGE,YPAGE,HEIGHT,INTEQ,ANGLE,-ICODE)
                XPAGE, ARE THE SAME AS DESCRIBED  FOR  THE  "STANDARD"
                         CALL.  IF
                YPAGE THE SYMBOL TO BE PRODUCED IS ONE OF THE CENTERED
                         SYMBOLS  (I.E.,  IF "INTEQ" IS LESS THAN 14),
                         "XPAGE","YPAGE" REPRESENT THE CENTER  OF  THE
                         CHARACTER PRODUCED.
                ANGLE IS THE SAME AS DESCRIBED IN THE "STANDARD" CALL.
                HEIGHT IS THE HEIGHT (AND WIDTH), IN  INCHES,  OF  THE
                         CENTERED  SYMBOL TO BE DRAWN.  PREFERABLY, IT
                         SHOULD BE  A  MULTIPLE  OF  SEVEN  TIMES  THE
                         PLOTTER INCREMENT SIZE.
                INTEQ IS THE INTEGER EQUIVALENT OF THE DESIRED SYMBOL.
                         VALID   INTEGERS   AND   THEIR   SYMBOLS  ARE
                         DESCRIBED IN THE "POINT" DOCUMENTATION.
                -ICODE IS NEGATIVE AND DETERMINES WHETHER THE  PEN  IS
                         UP    OR    DOWN    DURING    THE   MOVE   TO
                         "XPAGE","YPAGE".
                         WHEN -ICODE IS:
                         -1, THE PEN IS  UP  DURING  THE  MOVE,  AFTER
                         WHICH A SINGLE SYMBOL IS PRODUCED;
PLOTS  STANDARD PLOT PACKAGE                                   Page 16
SYMBOL
                         -2, OR LESS, THE PEN IS DOWN DURING THE MOVE,
                         AFTER WHICH A SINGLE SYMBOL IS PRODUCED.
PLOTS  STANDARD PLOT PACKAGE                                   Page 17
MNUMBR
                                MNUMBR
                                ******
                         Author:  Jack London
                         ********************
                              THIS SUBROUTINE WILL WRITE ON GRAPH, THE
                         NUMERICAL  VALUE  OF  A VARIABLE, IN A FORMAT
                         SELECTED BY USER.
                         CALL MNUMBR (X,Y,SIZE,NUM,THETA,'(FORMAT)')
                            X AND Y ARE THE COORDINATES OF  THE  LOWER
                         LEFTHAND  CORNER  OF  THE  FIRST  DIGIT TO BE
                         PLOTTED.
                            SIZE IS THE DESIRED  HEIGHT  OF  A  DIGIT.
                         WIDTH  OF EACH DIGIT IS ALWAYS 4/7X(SIZE) AND
                         DISTANCE BETWEEN DIGITS IS 2/7X(SIZE).
                            NUM IS THE NUMBER TO BE PLOTTED.  NUM  MAY
                         BE A FLOATING POINT OR INTEGER VARIABLE.
                            THETA IS THE ANGLE (IN DEGREES)  AT  WHICH
                         THE NUMBER IS TO BE DRAWN.
                            '(FORMAT)' IS THE DESIRED  OUTPUT  FORMAT,
                         AND  MUST  BEGIN  AND  END  WITH PARENTHESES.
                         USER  MAY  CHOOSE  ANY  FORMAT  THAT  CAN  BE
                         HANDLED BY "ENCODE".
                         EXAMPLE
                         *******
                         PLOT THE VALUE OF FPN AT (3,2)  HORIZONTALLY,
                         IN  F3.1  FORMAT.   CHARACTERS  ARE TO BE 0.5
                         INCHES HIGH.
                         NOTE!  THE WORD 'ERROR' WILL  BE  PLOTTED  AT
                         (X,Y) IF:
                            A) THE ENCLOSING PARENTHESES ARE MISSING.
                            B) THE FORMAT IS NOT I, F, OR E.
                         CAUTION!
                         *******
                         Before calling MNUMBR, user must  do  a  CALL
                         PLOTS(XLIM,YLIM,IDEV)  to  initialize plotter
                         programs.
PLOTS  STANDARD PLOT PACKAGE                                   Page 18
NUMBER
                                NUMBER
                                ******
                              NUMBER converts a floating-point  number
                         to the appropriate decimal equivalent so that
                         the number may  be  plotted  in  the  FORTRAN
                         F-type  format.   The NUMBER calling sequence
                         has six arguments.
                         CALL                                   NUMBER
                         (XPAGE,YPAGE,HEIGHT,FPN,ANGLE,+OR- NDEC)
            XPAGE   are the same as those arguments described for
            YPAGE  Subroutine SYMBOL.  The continuation feature,
            HEIGHT where XPAGE or YPAGE equals 999., may also be
            ANGLE  used.
            FPN    is  the  floating-point  number  that  is   to   be
                    converted and plotted.
            +or-NDEC controls the precision of the conversion  of  the
                    number  FPN.  If the value of NDEC>0, it specifies
                    the number of digits to the right of  the  decimal
                    point  that are to be converted and plotted, after
                    proper rounding.  For example, assume an  internal
                    value  (perhaps  in  binary form) of -0.12345678 x
                    10^3.  If NDEC were 2, the plotted number would be
                    -123.46.
                    If NDEC = 0, only the number's integer portion and
                    a decimal point are plotted, after rounding.
                    If NDEC = -1, only the number's integer portion is
                    plotted, after rounding.  (The above example would
                    be plotted as -123 with no decimal point.)
                    If NDEC < -1, |NDEC| -1 digits are truncated  from
                    the integer portion, after rounding.
                    The magnitude of NDEC should not exceed 9.
PLOTS  STANDARD PLOT PACKAGE                                   Page 19
SCALE
                                SCALE
                          AUTHOR: PETE CLARK
                          ******************
               TYPICALLY, THE USER'S PROGRAM WILL ACCUMULATE  PLOTTING
          DATA  IN  TWO  ARRAYS: 1) AN ARRAY OF INDEPENDENT VARIABLES,
          X(I); AND 2) AN ARRAY OF DEPENDENT VARIABLES  ,Y(I)=F(X(I)).
          IT  WOULD BE UNUSUAL,HOWEVER, IF THE RANGE OF VALUES IN EACH
          ARRAY  CORRESPONDED  EXACTLY  WITH  THE  NUMBER  OF   INCHES
          AVAILABLE  IN  THE  ACTUAL PLOTTING AREA.  FOR SOME PROBLEMS
          THE RANGE OF DATA IS PREDICTABLE,  AND  THE  PROGRAMMER  CAN
          PREDETERMINE  SUITABLE CONVERSION FACTORS FOR USE IN DRAWING
          THE AXIS SCALE VALUES AND PLOTTING THE DATA  POINTS  ON  THE
          GRAPH.   HOWEVER, IN GENERAL, THESE FACTORS ARE NOT KNOWN IN
          ADVANCE.
               THEREFORE, THE "SCALE" SUBROUTINE IS  USED  TO  EXAMINE
          THE  DATA  VALUES  IN  AN  ARRAY AND TO DETERMINE A STARTING
          VALUE, EITHER MINIMUM OR MAXIMUM ,  AND  A  SCALING  FACTOR,
          POSITIVE  OR  NEGATIVE,  SUCH  THAT:  1)THE SCALE ANNOTATION
          DRAWN  BY  THE  "AXIS"  SUBROUTINE  AT  EACH  DIVISION  WILL
          PROPERLY  REPRESENT  THE  RANGE  OF  REAL DATA VALUES IN THE
          ARRAY; AND 2) THE DATA POINTS, WHEN PLOTTED  BY  THE  "LINE"
          SUBROUTINE,  WILL  FIT  IN A GIVEN PLOTTING AREA.  THESE TWO
          VALUES ARE COMPUTED AND STORED BY "SCALE" AT THE END OF  THE
          ARRAY.
               THE SCALING FACTOR (DELTAV) THAT IS COMPUTED REPRESENTS
          THE  NUMBER  OF DATA UNITS PER INCH OF AXIS, BUT IS ADJUSTED
          SO THAT IT IS ALWAYS AN INTERVAL OF  1,2,4,5,  OR  8  *10**N
          (WHERE  N  IS  AN  EXPONENT  CONSISTENT  WITH  THE  ORIGINAL
          UNADJUSTED SCALING FACTOR).  THUS, AN ARRAY MAY HAVE A RANGE
          OF  VALUES FROM 301 TO 912, TO BE PLOTTED OVER AN AXIS OF 10
          INCHES.  THE UNADJUSTED SCALING FACTOR IS  (912-301)/10=61.1
          UNITS/INCH.  THE ADJUSTED "DELTAV" WOULD BE 8*10**1=80.
               THE STARTING VALUE (FIRSTV), WHICH WILL APPEAR  AS  THE
          FIRST  ANNOTATION  ON THE AXIS, IS COMPUTED AS SOME MULTIPLE
          OF "DELTAV" THAT IS EQUAL TO OR OUTSIDE THE  LIMITS  OF  THE
          DATA  IN  THE  ARRAY.   FOR  THE  EXAMPLE  GIVEN ABOVE, IF A
          MINIMUM IS WANTED FOR "FIRSTV", 240 WOULD BE CHOSEN  AS  THE
          BEST  VALUE.   IF A MAXIMUM IS DESIRED INSTEAD, 960 WOULD BE
          SELECTED.
PLOTS  STANDARD PLOT PACKAGE                                   Page 20
SCALE
               THERE ARE FOUR ARGUMENTS IN THE CALLING SEQUENCE:
               THE FIRST TWO ARGUMENTS MUST BE FLOATING POINT AND  THE
          LAST TWO MUST BE INTEGER.
                    CALL SCALE (ARRAY,AXLEN,NPTS,INC)
 ARRAY    = THE ARRAY OF DATA POINTS TO BE EXAMINED
                    THE ARRAY MUST BE A REAL (FLOATING POINT) ARRAY.
 AXLEN    = THE LENGTH OF THE AXIS TO WHICH THE DATA IS TO BE  SCALED.
          ITS VALUE MUST BE GREATER THAN 1.0 INCH.
 NPTS     = THE NUMBER OF DATA VALUES TO BE SCANNED IN THE ARRAY.  THE
          "FORTRAN"  DIMENSION  STATEMENT  SHOULD SPECIFY AT LEAST TWO
          ELEMENTS MORE THAN THE NUMBER OF VALUES  BEING  SCANNED,  TO
          ALLOW  ROOM FOR "SCALE" TO STORE THE COMPUTED STARTING VALUE
          AND SCALING FACTOR AT THE END OF THE ARRAY.
 INC      = AN INTEGER WHOSE MAGNITUDE  IS  USED  BY  "SCALE"  AS  THE
          INCREMENT WITH WHICH TO SELECT THE DATA VALUES TO BE SCANNED
          IN THE ARRAY.  NORMALLY MAGNITUDE OF INC = 1; IF  IT  IS  2,
          EVERY OTHER VALUE IS EXAMINED.
               IF  INC  IS  POSITIVE,  THE  SELECTED  STARTING   VALUE
          (FIRSTV)  APPROXIMATES  A  MINIMUM,  AND  THE  SCALE  FACTOR
          (DELTAV) IS POSITIVE.
               IF  INC  IS  NEGATIVE,  THE  SELECTED  STARTING   VALUE
          (FIRSTV)  APPROXIMATES  A  MAXIMUM,  AND  THE SCALING FACTOR
          (DELTAV) IS NEGATIVE.
               IF MAGNITUDE OF INC = 1, THE ARRAY MUST BE  DIMENSIONED
          AT  LEAST TWO ELEMENTS LARGER THAN THE ACTUAL NUMBER OF DATA
          VALUES IT CONTAINS.  IF THE MAGNITUDE OF INC 1, THE COMPUTED
          VALUES  ARE  STORED  AT  (INC) ELEMENTS AND (2*INC) ELEMENTS
          BEYOND THE LAST DATA POINT.   THE  SUBSCRIPTED  ELEMENT  FOR
          FIRSTV    IS    ARRAY(NPTS*INC+1);    FOR   DELTAV   IT   IS
          ARRAY(NPTS*INC+INC+1).
PLOTS  STANDARD PLOT PACKAGE                                   Page 21
AXIS
                                 AXIS
                          AUTHOR: PETE CLARK
                          ******************
               MOST GRAPHS REQUIRE AXIS LINES AND SCALES  TO  INDICATE
          THE  ORIENTATION AND VALUES OF THE PLOTTED DATA POINTS.  THE
          MOST COMMON TYPE OF SCALED AXIS IS EASILY  PRODUCED  BY  THE
          AXIS   SUBROUTINE,  WHICH  DRAWS  ANY  LENGTH  LINE  AT  ANY
          ANGLE,DIVIDES  IT  INTO  1-INCH  OR  (USER  DEFINED)  LENGTH
          SEGMENTS,ANNOTATES  THE  DIVISIONS  WITH  APPROPRIATE  SCALE
          VALUES, AND LABELS THE AXIS WITH  A  CENTERED  TITLE.   WHEN
          BOTH  THE  X  AND  THE  Y  AXES  ARE  NEEDED, AXIS IS CALLED
          SEPARATELY FOR EACH ONE.
               THERE ARE 8 (USUAL) 9,11 OR 12 ARGUMENTS IN THE CALLING
          SEQUENCE.   ALL  ARGUMENTS  MUST  BE  FLOATING  POINT UNLESS
          OTHERWISE SPECIFIED BELOW.
         CALL AXIS(X,Y,IBCD,+OR-NCHAR,AXLEN,ANGLE,FIRSTV,DELTAV)
         CALL AXIS(X,Y,IBCD,+OR-NCHAR,AXLEN,ANGLE,FIRSTV,DELTAV,SEGLN)
         CALL AXIS(X,Y,IBCD,+OR-NCHAR,AXLEN,ANGLE,FIRSTV,DELTAV,SEGLN,
        1NROT,FMT)
         CALL AXIS(X,Y,IBCD,+OR-NCHAR,AXLEN,ANGLE,FIRSTV,DELTAV,SEGLN,
        1NROT,FMT,IDELTA)
 X,Y    = THE COORDINATES OF THE  AXIS  LINE'S  STARTING  POINT.   THE
          ENTIRE  LINE  AND  TERMINAL ENDS SHOULD BE AT LEAST .75 INCH
          FROM ANY SIDE TO ALLOW SPACE FOR THE  SCALE  ANNOTATION  AND
          AXIS  TITLE.   USUALLY,  BOTH THE X AND Y AXES ARE JOINED AT
          THE ORIGIN OF THE GRAPH, WHERE X AND Y EQUAL  0;  BUT  OTHER
          STARTING  POINTS  CAN  BE  USED  IF DESIRED.  WHEN USING THE
          "LINE" SUBROUTINE TO PLOT DATA ON AN AXIS, AT LEAST  ONE  OF
          THE COORDINATES MUST BE 0;I.E.  FOR AN X-AXIS,X=0, AND FOR A
          Y-AXIS, Y=0.
 IBCD   = THE TITLE, WHICH IS CENTERED AND PLACED PARALLEL TO THE AXIS
          LINE.   THIS  PARAMETER  MAY BE AN ALPHANUMERIC ARRAY, OR IT
          MAY BE AN ASCII LITERAL.THE CHARACTERS HAVE A  FIXED  HEIGHT
          OF .14 INCHES.
          IF TITLE IS ALL BLANK AND MAGNITUDE OF NCHAR  =  1  THEN  NO
          LABELS ARE DRAWN.
PLOTS  STANDARD PLOT PACKAGE                                   Page 22
AXIS
 +OR-NCHAR SPECIES THE NUMBER OF CHARACTERS IN  THE  AXIS  TITLE,  AND
          DETERMINES  BY  ITS  SIGN  WHICH  SIDE OF THE LINE THE SCALE
          (TICK) MARKS  AND  LABELING  INFORMATION  SHALL  BE  PLACED.
          SINCE  THE  AXIS  LINE  MAY  BE DRAWN AT ANY ANGLE, THE LINE
          ITSELF IS USED AS A REFERENCE.
          IF THE SIGN IS  POSITIVE,  ALL  ANNOTATION  APPEARS  ON  THE
          POSITIVE   (COUNTERCLOCKWISE)   SIDE   OF  THE  AXIS,  WHICH
          CONDITION IS NORMALLY DESIRED FOR THE Y-AXIS.
          IF THE SIGN IS  NEGATIVE,  ALL  ANNOTATION  APPEARS  ON  THE
          NEGATIVE  (CLOCKWISE)  SIDE  OF THE AXIS, WHICH CONDITION IS
          NORMALLY DESIRED FOR THE X-AXIS.
          IF THE MAGNITUDE OF NCHAR =1 AND IBCD (TITLE)  IS  BLANK  NO
          LABELS WILL BE DRAWN.
          NCHAR MUST BE AN INTEGER!
 AXLEN  = THE LENGTH OF THE AXIS LINE IN INCHES.
          IF AXLEN IS NEGATIV THEN NO SCALE NUMBERS WILL BE  DRAWN  BY
          THE TICK MARKS.
 ANGLE  = THE ANGLE, IN POSITIVE OR NEGATIVE  DEGREES,  AT  WHICH  THE
          AXIS  IS  TO BE DRAWN.  NORMALLY, THIS VALUE IS ZERO FOR THE
          X-AXIS AND 90.0 FOR THE Y-AXIS.
 FIRSTV = THE STARTING VALUE (EITHER MINIMUM OR  MAXIMUM)  WHICH  WILL
          APPEAR  AT  THE FIRST TICK MARK ON THE AXIS.  THIS VALUE MAY
          BE  COMPUTED  BY  THE  "SCALE"  SUBROUTINE  AND  STORED   AT
          SUBSCRIPTED   LOCATION   "ARRAY(NPTS*INC+1)",   OR   MAY  BE
          DETERMINED BY THE USER AND STORED ANYWHERE.
          THIS NUMBER AND EACH SCALE VALUE ALONG THE  AXIS  IS  ALWAYS
          DRAWN  WITH  TWO  DECIMAL  PLACES.   SINCE THE DIGIT SIZE IS
          0.105 INCH (ABOUT 10 CHARACTERS PER INCH), AND SINCE A SCALE
          VALUE  APPEARS  EVERY  INCH  , NO MORE THAN SIX DIGITS AND A
          SIGN SHOULD APPEAR AT THE LEFT OF THE DECIMAL POINT
 DELTAV = THE NUMBER OF DATA UNITS  PER  INCH  OF  AXIS.   THIS  VALUE
          (INCREMENT  OR  DECREMENT),  WHICH  IS ADDED TO "FIRSTV" FOR
          EACH SUCCEEDING ONE-INCH DIVISION ALONG  THE  AXIS,  MAY  BE
          COMPUTED   BY   "SCALE"   AND   STORED  BEYOND  "FIRSTV"  AT
          "ARRAY(NPTS*INC+INC+1)", OR MAY BE DETERMINED  BY  THE  USER
          AND STORED ANYWHERE.
          IN ORDER TO USE A STANDARD FORMAT OF TWO DECIMAL PLACES, THE
          SIZE OF "DELTAV" IS ADJUSTED TO LESS THAN 100 (FOR TEKTRONIX
          4010 OR LESS THAN 1000 IF USING CALCOMP).  BUT NOT LESS THAN
          .01.   AS A RESULT, THE DECIMAL POINT MAY BE SHIFTED LEFT OR
          RIGHT IN THE SCALE VALUES AS DRAWN, AND THE  AXIS  TITLE  IS
          THEN  FOLLOWED  BY  "*10N,"  WHERE  N  IS  THE  POWER-OF-TEN
          ADJUSTMENT FACTOR, UNLESS FMT ARGUMENT IS SPECIFIED.
PLOTS  STANDARD PLOT PACKAGE                                   Page 23
AXIS
          THE FOLLOWING ARGUMENTS ARE OPTIONAL
 SEGLN  = THE DISTANCE BETWEEN TICK MARKS ON THE AXIS IN  INCHES.   IF
          AXIS  IS  CALLED  WITH ONLY 8 ARGUMENTS SEGLN IS SET TO 1.0.
          SEGLN  IS  MULTIPLIED  BY  DELTAV  TO  DETERMINE  HOW   MANY
          UNITS/TIC MARK.
 NROT   = THE NUMBER OF 90 DEGREE, (COUNTERCLOCKWISE) ROTATIONS OF THE
          SCALE  VALUES,  RELATIVE TO THEIR ORIGINAL POSITION WHICH IS
          PARALLEL TO THE AXIS.  USUALLY NROT = 0.  ON PLOTTING X-AXIS
          WITH NROT NOT = 0 THE AXIS SHOULD BE PLOTTED AT LEAST 1 INCH
          FROM THE MARGIN TO ALLOW ROOM FOR THE SCALE VALUES.
 FMT    = IF AXIS IS CALLED WITH 8 OR 9  ARGUMENTS  THE  SCALE  VALUES
          WILL   BE   DRAWN   WITH  A  FORMAT  OF  (F6.2).   THE  USER
          MAY,HOWEVER, SPECIFY ANY OTHER FORMAT  IN  THE  FORM  OF  AN
          ASCII  LITERAL,  HOWEVER  THE  TOTAL  FIELD WIDTH SHOULD NOT
          EXCEED 10.
 IDELTA = INTEGER VALUE OF UNITS/TIC MARK WHICH YOU  MUST  SPECIFY  IF
          YOU  WANT TO HAVE SCALE NUMBERS AS INTEGERS.THIS IMPLIES FMT
          IS AN INTEGER FORMAT SPECIFICATION.
PLOTS  STANDARD PLOT PACKAGE                                   Page 24
LINE
                                 LINE
                          AUTHOR: PETE CLARK
                          ******************
               THE "LINE" SUBROUTINE PRODUCES A LINE PLOT OF THE PAIRS
          OF DATA VALUES IN TWO ARRAYS (X AND Y).  "LINE" COMPUTES THE
          PAGE COORDINATES OF EACH PLOTTED POINT ACCORDING TO THE DATA
          VALUES  IN EACH ARRAY AND THE RESPECTIVE SCALING PARAMETERS.
          THE DATA POINTS  MAY  BE  REPRESENTED  BY  CENTERED  SYMBOLS
          AND/OR CONNECTING LINES BETWEEN POINTS.
               THE SCALING PARAMETERS CORRESPONDING  TO  "FIRSTV"  AND
          "DELTAV"  (SEE  "SCALE") MUST IMMEDIATELY FOLLOW EACH ARRAY.
          IF THESE PARAMETERS HAVE NOT BEEN COMPUTED  BY  THE  "SCALE"
          SUBROUTINE THEY MUST BE SUPPLIED BY THE USER.
               THE SUBROUTINE CALLING SEQUENCE HAS SIX ARGUMENTS.  THE
          FIRST  TWO  MUST  BE FLOATING POINT ARRAYS AND THE LAST FOUR
          MUST BE INTEGER.
               BEFORE CALLING LINE, SET ORIGIN (CALL PLOT  X,Y,-3)  TO
          LOWER LEFT HAND CORNER OF GRAPHING AREA.
                    CALL LINE(XARRAY,YARRAY,NPTS,INC,LINTYP,INTEQ)
 XARRAY = THE NAME OF THE ARRAY CONTAINING THE ABSCISSA (X) VALUES AND
          THE SCALING PARAMETERS FOR THE X-ARRAY.
 YARRAY = THE NAME OF THE ARRAY CONTAINING THE ORDINATE (Y) VALUES AND
          THE SCALING PARAMETERS FOR THE Y-ARRAY.
 NPTS   = THE NUMBER OF DATA POINTS IN EACH OF  THE  TWO  ARRAYS  JUST
          MENTIONED  TO  BE  PLOTTED.THE  NUMBER  DOES NOT INCLUDE THE
          EXTRA TWO LOCATIONS FOR THE SCALING PARAMETERS.  THE  NUMBER
          OF POINTS IN EACH ARRAY MUST BE THE SAME.
 INC    = THE INCREMENT THAT  THE  "LINE"  SUBROUTINE  IS  TO  USE  IN
          GATHERING  DATA  FROM  THE  TWO ARRAYS, AS DESCRIBED FOR THE
          "SCALE" SUBROUTINE.
PLOTS  STANDARD PLOT PACKAGE                                   Page 25
LINE
 LINTYP = IS A CONTROL PARAMETER WHICH DESCRIBES THE TYPE OF  LINE  TO
          BE DRAWN THROUGH THE DATA POINTS.  THE MAGNITUDE OF "LINTYP"
          DETERMINES  THE  FREQUENCY  OF  PLOTTED  SYMBOLS;  E.G.,  IF
          "LINTYP"=4, A SPECIAL SYMBOL (DENOTED BY "INTEQ") IS PLOTTED
          AT EVERY FOURTH DATA POINT.
               IF "LINTYP" = 0, THE POINTS ARE CONNECTED  BY  STRAIGHT
          LINES BUT NO SYMBOLS ARE PLOTTED.
               IF "LINTYP" IS POSITIVE, A STRAIGHT LINE CONNECTS EVERY
          DATA  POINT  DEFINED  IN  THE  ARRAY.   ( THE PEN IS UP WHEN
          MOVING FROM ITS CURRENT POSITION TO THE FIRST POINT.)
               IF "LINTYP" IS NEGATIVE, NO CONNECTING LINES ARE DRAWN;
          ONLY THE SYMBOLS ARE PLOTTED.
 INTEQ  = THE  INTEGER  EQUIVALENT  OF  THE  SPECIAL  PLOTTING  SYMBOL
          CENTERED  AT  EACH DATA POINT.THIS VALUE CAN BE 1-8, AND HAS
          MEANING ONLY WHEN "LINTYP" IS NOT ZERO.   THE  DOCUMENTATION
          FOR  "POINT"  IN  THE "PLOT" DOCUMENTATION HAS A LIST OF THE
          AVAILABLE    SYMBOLS.SOME    OF    THESE    SYMBOLS     ARE:
          BOX,DIAMOND,TRIANGLE,X,AND ASTERISK.
          IF INTEQ < 0 THEN A DASHED  LINE  WILL  BE  DRAWN  WITH  THE
          LENGTH   OF  THE  DASHES  =  THE  LENGTH  OF  THE  SPACES  =
          IABS(INTEQ)/10.  INCHES.
          IF INTEQ < 0 AND LINTYP < 0 THEN AS ABOVE EXCEPT  LENGTH  OF
          SPACES = IABS(LINTYP)/10.  INCHES.
          IF INTEQ < 0 AND LINTYP > 0 THEN AS ABOVE  BUT  IN  ADDITION
          LINTYP  REPRESENTS THE CHARACTER TO BE PLOTTED IN THE MIDDLE
          OF THE SPACE.  IF LINTYP > THAN OCTAL 37  THEN  IT  WILL  BE
          INTERPRETED AS A RIGHT JUSTIFIED ASCII CHARACTER.
          NOTE: THE PEN POSITION MUST BE AT THE ORIGIN BEFORE  CALLING
          "LINE".   THIS IS BECAUSE ON ENTERING THE "LINE" ROUTINE THE
          CURRENT PEN POSITION MUST BE SET AS THE ORIGIN.  THE  "AXIS"
          ROUTINE LEAVES THE PEN AT THE BEGINNING OF THE AXIS (USUALLY
          THE ORIGIN).
PLOTS  STANDARD PLOT PACKAGE                                   Page 26
FLINE
                                FLINE
                       AUTHOR: SERGE SCHREMMER
                       ***********************
               THE "FLINE" SUBROUTINE PERFORMS THE SAME AS "LINE" WITH
          ONE  ADDITIONAL  FEATURE.THE  SEVENTH  ARGUMENT  SPECIFIES A
          SMOOTH CURVE,RATHER THAN A STRAIGHT LINE,TO BE DRAWN BETWEEN
          THE  POINTS.THIS  CURVE  IS  DRAWN  USING  A  MODIFIED CUBIC
          SPLINE-FITTING TECHNIQUE.
               CALL FLINE(XARRAY,YARRAY,NPTS,INC,LINTYP,INTEQ,INCH)
 THE FIRST SIX ARGUMENTS ARE THOSE DEFINED IN "LINE" ABOVE.
 INCH   = THE NUMBER OF POINTS/INCH TO BE  INTERPOLATED.A  RECOMMENDED
          MINIMUM  IS  10.IF  0  IS  USED  A  DEFAULT  VALUE  OF 10 IS
          INSERTED.
          NOTE: THE SUBROUTINE WILL NOT WORK IF THE  NUMBER  OF  GIVEN
          POINTS  IN RELATION TO THE CURVATURE IS TOO SMALL.THERE IS A
          LIMIT OF 1000 INTERPOLATED POINTS.TO  CALCULATE  THIS  VALUE
          MULTIPLY YOUR AXIS LENTH BY "INCH".
PLOTS  STANDARD PLOT PACKAGE                                   Page 27
POINT
                                POINT
                                *****
                         AUTHOR: JACK LONDON
                         *******************
               THIS SUBROUTINE ALLOWS THE USER TO DENOTE  DATA  POINTS
          ON  A GRAPH.  THIS CALL IS EQUIVALENT TO THE (SPECIAL SYMBOL
          CALL).  AFTER MOVING TO THE DATA  POINT  (XPAGE,YPAGE)  WITH
          THE  PEN  EITHER UP OR DOWN, ANY ONE OF EIGHT SYMBOLS MAY BE
          DRAWN.  THE DATA POINT IS AT THE CENTER OF THE SYMBOL.
          THE "POINT" CALL HAS SIX ARGUMENTS:
          CALL POINT(XPAGE,YPAGE,HEIGHT,I,ANGLE,J)
 XPAGE, ARE THE COORDINATES OF THE POINT TO BE PLOTTED AND
 YPAGE  AND THE CENTER OF THE SYMBOL TO BE DRAWN.
 HEIGHT IS THE HEIGHT OF THE SYMBOL IN INCHES (MINIMUM=.07).
 I      IS THE CODE FOR THE SYMBOL DESIRED.
          1.         5.
          2.         6.
          3.         7.
          4.         8.
 ANGLE    IS THE ANGLE AT WHICH THE SYMBOL IS TO BE DRAWN.
 J        INDICATES WHETHER THE PEN IS TO BE UP OR DOWN WHEN MOVING TO
          THE POINT.
          J=2, PEN DOWN, (CONNECTED POINTS)
          J=3, PEN UP, (UNCONNECTED POINTS)
PLOTS  STANDARD PLOT PACKAGE                                   Page 28
POINT
          SPECIAL "POINT" CALL:
          CALL POINT(XPAGE,YPAGE,SYM)
               FOR THE CALCOMP THIS DRAWS THE LEFT JUSTIFIED (SYM=1H?)
          SYMBOL  IN  "SYM" CENTERED AT POINT (XPAGE,YPAGE).  THE SIZE
          IS .15 INCHES WITH NO ROTATION.
               FOR THE TEKTRONIX 4010-1 THE  SYMBOL  IS  TYPED  RATHER
          THAN  DRAWN  (THIS IS MUCH FASTER), BUT IS STILL CENTERED AT
          (XPAGE,YPAGE).
PLOTS  STANDARD PLOT PACKAGE                                   Page 29
WINDOW
                                ******
                                WINDOW
                          AUTHOR:PETE CLARK
                          *****************
               WINDOW This software allows the user to specify an area
               ______
          of the screen (or plotter) as a "WINDOW".  Movements outside
          the window will not be shown, but the pen  orientation  will
          be maintained correctly even if outside the window.  This is
          useful if you do not want wrap around on Tektronix to  occur
          for example.
               There are two (2) calls to the "WINDOW" software.
          CALL SETWIN (XMINX,XMINY,XMAXX,XMAXY)
               All arguments must be real numbers. All values are in
          inches.
          XMINX Minimum X value of window
          XMINY Minimum Y value of window
          XMAXX Maximum X value of window
          XMAXY Maximum Y value of window
               The "SETWIN" call is used to specify that you wish to
          invoke windowing and also to specify window.
          CALL CLRWIN
               This call is used to disable windowing. Default
          condition.
                                     INDEX
          Axis . . . . . . . . . . . . . 21
          Clrwin . . . . . . . . . . . . 29
          Factor . . . . . . . . . . . . 11
          Fline  . . . . . . . . . . . . 26
          Fsetof . . . . . . . . . . . . 13
          Fseton . . . . . . . . . . . . 13
          Lasplt . . . . . . . . . . . . 12
          Line . . . . . . . . . . . . . 24
          Mnumbr . . . . . . . . . . . . 17
          Number . . . . . . . . . . . . 18
          Offset . . . . . . . . . . . . 13
          Plot . . . . . . . . . . . . . 8
          Plots  . . . . . . . . . . . . 10
          Point  . . . . . . . . . . . . 27
          Scale  . . . . . . . . . . . . 19
          Setwin . . . . . . . . . . . . 29
          Symbol . . . . . . . . . . . . 14
          Where  . . . . . . . . . . . . 11
          Window . . . . . . . . . . . . 29