Last: ystack-array Up: ../graph.html Next: cross-reference
GRAPH is a "black-box" utility program for making simple line drawings
and histogram bar charts. It consists of a small MAIN program which
handles run-time file assignments, then calls GRFGG (infile,outfile),
where the arguments are the FORTRAN unit numbers of the input and
output files. GRFGG can thus be called from any user program if this
proves desirable.
Input to GRAPH consists of FORTRAN NAMELIST input, $DATA ... $END,
followed by 3 title cards, as described in the comments below which
have been extracted from the program. Multiple sets of input data may
be provided in a single run. A simple example of a input file follows:
$DATA X(1,1)=1,2,3,4,5,
Y(1,1)=1,4,9,16,25,
X(1,2)=1,2,3,4,5,6,7,8,9,10,
Y(1,2)=1,1.4142,1.7320,2,2.2360,2.4494,2.6457,
2.8284,3,3.1622,
N=5,10,
NU=2*1, MARK=6,18,
$END
Sample Graphs of Y = X**2 (squares) and Y = SQRT(X) (diamonds)
X Values
Y Values
Note that the keyword $DATA **MUST** begin in column 2, and that no
data may ever be coded in column 1. Otherwise the format is free-form.
In this example, two sets of data are provided, one representing the
curve y = x**2, and the second, y = sqrt(x).
At present, five versions of GRAPH are present on the system:
* GRAPHC - graphs on a file which can later by plotted on the UUCC
CalComp plotter
* GRAPHF - graphs on the Form & Substance Microangelo CRT display
terminal
* GRAPHM - graphs on the METAFILE device
* GRAPHT - graphs on the Tektronix 4010, 4011, and 4012 storage tube
CRT display terminals
* GRAPHX - graphs on Printronix 300 line printer
These are identical apart from the different device interfaces. To run
GRAPH, the following command is required (GRAPHC, GRAPHF, GRAPHM, or
GRAPHT may be substituted for GRAPHX):
@GRAPHX infile,outfile,plotfile
or
@GRAPHX
INPUT FILE = infile
OUTPUT FILE = outfile
PLOT FILE = plotfile
If GRAPHX was used, the output listing and plot may be produced on the
Chemistry Printronix 300 line printer by the following command:
@P300
Print file: outfile
Print file: plotfile
Print file: ^Z
or disposed to the Physics Printronix 600 line printer by
@PRINT outfile,plotfile
The file names "infile", "outfile", and "plotfile" must not exceed 10
characters in length (6-character name + 3-character extension). The
three file names input to GRAPH may be provided in three successive
lines of a file named GRAPH.CMD if desired; GRAPH will then not prompt
for file names.
The plot file output by GRAPHX should only be printed on the Printronix
300 or 600; with other printers, the result will be 1200 lines of
totally meaningless characters.
If GRAPHC is used, the plot file must be copied to tape for transmittal
to the UUCC CalComp plotter. See the HELP file on PLTAPE for more
information.
GRAPHT may be used in three different ways. The plot may be directed
to a file, for later display on a Tektronix screen, or it may be
directed to the logged-on terminal, or it may be directed to another
terminal which has been ASSIGNed to your job. These features are
controlled by the definition of the logical name CRT:, which should be
defined to be TTY:, file.ext, or TTYnn:, for each of the three
respectively. Since the Tektronix 4010 family are storage tube
displays, it is not possible to maintain a separate text area on the
screen as it is with the IMLAC refresh display. Consequently, any text
written to the screen will overwrite the plot. For this reason, when
two terminal lines are available adjacent to one another, it is usually
most convenient to use the third method. If you choose the second
method, the plot commands will be collected in a file which can be
copied to a Tektronix screen by the system command
@COPY file.ext TTY: (or TTYnn:),
@@BYTE (SIZE) 8
@@
Each time the termination routine, PLTEJ, is called to complete a plot,
it reads a single arbitrary character (e.g. carriage return) from the
terminal running the job. Until this is provided, it will wait, giving
the user time to view the plot. When the input has been received,
execution will continue, and if a subsequent plot is begun, the screen
will be cleared. NO PROMPT IS ISSUED, in order that the plot not be
overwritten by text if the user is plotting on the logged-on terminal.
GRAPH is currently dimensioned for 1300 data points in each of up to 12
curves. Typical execution times are about 5 sec to construct the
graph, plus 0.3 sec to construct the plot file from the in-core bitmap
representation. Comments from subroutine GRFGG in GRAPH follow.