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.