PLT -- File-Oriented Plotting Utility for RT 19-Jul-84 Introduction ------------ PLT is now a RT-11 program that translates a user-specified text file consisting of plotting commands into Tektronix 4662 language. The set of Tektronix 4662 language commands are placed into an output file which can then be sent directly to a Retro-Graphic terminal. The output files or .tek files can also be sent to a Data South Line Printer or to a HP 7475A pen plotter by running LPGPLT or HPPLT, respectively. PLT contains a specially defined character set which was created by the program CREATE. Usage ----- The user plots his/her file by entering a command string that is of this form: .RUN PLT filespec/SW1/SW2 outfile where filespec is a PLT-compatible ASCII text file. The default file extension is .PLT. outfile The name of the file where the Tektronix lanuage commands are written. The default outfile name is PLT.TEK. The default outfile extension is .TEK. /SW1/SW2 are one or more optional switches that control program output. Switches that are recognized are as follows: /EC This switch echoes each line of the input file on the user's terminal. The default condition is no echo. /TT This switch directs PLT to output the plot to the user's terminal in Tektronix-compatible scope format. Use of this switch presumes that the user's terminal can accept Tektronix graphics code. Alternatively, the user may access PLT by typing .RUN PLT whereupon PLT issues a prompt (plt file?) and waits for an input file specification and switch string: plt file? filespec/SW1/SW2 or plt file? outfile=filespec/SW1/SW2. Plot Files ---------- The typical input to PLT is a standard ASCII text file that contains plotting parameters, keywords, data, and comments. As will be shown below, there is a modicum of flexibility with this, such that the user may obtain data from another program, or may call another text file as a virtual subroutine, or have PLT request parameter/data entry during execution. PLT files may be created by entering the text into a file manually, using an editing program, or by writing and executing a program that creates, writes into, and closes the file. The plot file has a structure that may resemble this: XLENGTH=8 ; Plot is 8 inches long YLENGTH=6 ; by 6 inches high XMIN=0 XMAX=100 XINT=5 XLABEL=Intensity (dB SPL) YMIN=10 YMAX=1000 YCYCLE=2 YLABEL=Estimated Loudness GRID=yes PLTYPE=symbols only "Avg of 4 subjects" DATA ; These are the invariant data 10,150,.5 20,300,.25 50,120,0 PLOT NEWPAGE CALL newsetup ; This is the standard skeleton RUN myprog <5,20,30> ; Get 5 data values, using arguments of 20 and 30 "*" ; Get a message from the keyboard PLOT FINISH There are six types of lines in a plot file: comments, parameters, messages, keywords, data values, and transfers of control. 1. Comments Text following a semicolon (;) or a exclamation point (!) are internal and external comment lines, respectively. These are not executed by PLT. Rather, they serve only as references for the user. Internal comments, i.e., those following a semicolon, are for organizational use. They allow the creator to keep track of his file during editing, and they are only printed (along with everything else) when echoing is desired. The semicolon may appear anywhere on the line, and anything following it on that line is treated as an internal comment. External comments, i.e., those following an exclamation point, instruct PLT to print that comment regardless of echo status or output device. Again, the exclamation point may appear anywhere in the line, and the external comment is the text following it. External comments are useful when execution of the plot requires user intervention, for example when pens or paper need to be changed. Since semicolons and exclamation points denote comments, they cannot be used as characters in axis labels or messages. 2. Parameters Parameter manipulations control the features of the plot. It is by altering these that the user obtains his or her desired graph. There are five general classes of parameters. These are (a) axis specifications, (b) data output control, (c) annotation control, (d) message specifications, and (e) miscellaneous parameters. The structure of a parameter manipulation consists of a word, followed by an equals sign, followed by the desired parameter value. PLT examines only the first four characters of the parameter, even though its full name may be longer. a. Axis Specifications This group of parameters controls the features of three axis lines, i.e., the X or horizontal axis, the Y or left-hand vertical axis, and the R or right-hand vertical axis. The parameters are as follows: XLENGTH This parameter controls the length, in inches, of the horizontal or X axis. For an 8 1/2" x 11" page, this is the 11" dimension. This length does not include space for annotations or axis labels. Although the user can set XLENGTH to any value, cannot handle an X-axis length that exceeds 10.5 inches. When this maximum is exceeded, everything occurring beyond 10.5 inches will not appear on the page. The default X-axis length is 6.0 inches. YLENGTH This parameter controls the length, in inches, of the vertical or Y axis (the 8 1/2" dimension). It operates in the same manner as XLENGTH, but is limited to 7.74 inches. The default Y-axis length is 6.0 inches. XLLC This parameter controls the horizontal position, in inches, of the lower left-hand corner of the plot frame on the plotted page, i.e., this is where the X-axis begins and is where the line denoting the Y-axis will reside. The value of XLLC does not take into account the position of the annotations and axis labels; rather, it only positions the plot frame in the left-to-right dimension. The default value is 2.2 inches from the left-hand edge of the page. YLLC This parameter controls the vertical position, in inches, of the lower left-hand corner of the plot frame on the plotted page, i.e., this is where the Y-axis begins in the up-down dimension and is where the line denoting the X-axis will reside. The operation and default value of YLLC is the same as for XLLC. XMIN and XMAX These parameters denote the minimum and maximum values, respect- ively, of the X-axis. That is, the annotated part of the X-axis will go from XMIN to XMAX. PLT accepts both integers and real numbers as valid entries. The default values are XMIN=0 and XMAX=0. Note that data are unplottable if the default values are used. YMIN and YMAX These parameters denote the minimum and maximum values of the Y-axis. The operation of these and their defaults are the same as for XMIN and XMAX. RMIN and RMAX These parameters denote the minimum and maximum values of the right-hand axis, when one is desired. The operation and default values for these are the same as for the other axes. It is important to note that data Y-values, when they are plotted, are never referred to the right-hand axis: They are always referred to the left-hand or Y-axis limits. The right-hand axis exists only as a reference, and it is the user's responsibility to set it up accordingly. There is an indirect way to refer Y-values to the right- hand axis, which is to (a) set up and plot one set of axes, (b) suppress Y-axis annotations, (c) set YMIN and YMAX to the right-hand axis values, and (d) enter and plot the data. It is also important to note that RMIN and RMAX must both be set to zero if tick marks on the right-hand axis are to be the same as for the left-hand or Y axis. XCYCLE, YCYCLE and RCYCLE These parameters, when non-zero, denote that the indicated axis is to be logarithmic and that there are that many cycles on the axis. The defaults are 0.0 for all three, which means that all three plottable axes are linear. Two useful features of PLT, when a logarithmic axis is to be specified, are that (1) the user need only set the number (whole or fractional) of cycles desired and either the minimum or maximum axis value, and (2) the user doesn't have to compute the number of cycles when he specifies both the minimum and maximum axis values; rather, he needs only to make the number of cycles non-zero. For example, the sequences (1) (2) (3) (4) XMIN=2 XMIN=2 XMIN=0 XMIN=2 XMAX=200 XMAX=0 XMAX=200 XMAX=200 XCYCLE=2 XCYCLE=2 XCYCLE=2 XCYCLE=1 all have the same result. Sequence (1) defines all three parameters in a consistent manner. Sequences (2) and (3) have enough information to generate the logarithmic axis. In these cases the missing parameter is calculated and used internally. Sequence (4) has an inconsistency in it, in that XCYCLE does not agree with the axis limits. In this case, the limits XMIN and XMAX take precedence and XCYCLE will be corrected internally to the proper value, which is 2. There are two notes of caution: First, the user should remember, when defining only two logarithmic-axis parameters, that the third parameter must be 0 (the default value). If the "missing" parameter is non-zero, perhaps having been set in processing a previous plot frame, then incorrect and possibly disastrous results will occur. And second, it is valid to set the number of cycles to a fractional amount such as 2.50 or 3.10. In the case where only XMIN or XMAX is defined, PLT will generate the non-integral number of cycles specified. Finally, RCYCLE does not have to be set to 0 if no right-hand axis is desired. XINT, YINT and RINT These parameters control the way tick marks defining intervals on the respective (linear) axes will be done. If the axis is logarithmic, then the number of ticks is defined by the number of cycles, and the number of intervals is ignored. The parameter value is of the form MM.N, and it defines two types of intervals, namely "major" and "minor" intervals. MM defines the number of major intervals (and produces MM+1 tick marks) along the specified axis. Only major intervals can be annotated, and only major intervals will generate grid lines (when a grid is desired). N defines the number of minor intervals per major interval (and produces N-1 tick marks per minor interval), and it is limited to a maximum of 9. A minor interval is not annotated and carries no grid lines. Major intervals possess tick marks that are twice as long as those denoting minor intervals. The default value for the X and Y axes is 5, and the default value for the right-hand axis is 0. For example, the command line XINT=10.5 will cause the X axis to be plotted as 10 major intervals equally spaced between XMIN and XMAX. In addition to this, each major interval is subdivided into 5 minor intervals, making a total of 50 intervals overall. If XMIN=0 and XMAX=100, then each major interval is 10 units wide and each minor interval is 2 units wide. XPERCENT, YPERCENT and RPERCENT These parameters control the percentage of the respective axis to use for determining where to position the limits, with the limits being centered along the length of the axis. Its value can vary continuously from 0 to 100, with the default being 100 in all cases. For example, a designation of XPERCENT=50 cause PLT to use only half of the axis length to plot the intervals between XMIN and XMAX, and the tick mark denoting XMIN will be positioned one-quarter of the way along the X axis. In the default condition (XPERCENT=100), the entire length of the axis is used, and XMIN appears at its left edge. TICDIR This parameter controls the direction that tick marks will be plotted, i.e., inward from the axis frame, or outward from the frame. Setting TICDIR to 0 (the default value) indicates outward ticks, and setting it to a non-zero value indicates inward ticks. Inward ticks are 1.5 times longer than outward ticks. For convenience to users, PLT recognizes INWARD and OUTWARD as valid entries for TICDIR. Thus, the lines TICDIR=0. TICDIR=out TICDIR=OUTWARD all have the same result. OPENAX The default plot has four sides to it. Tick marks are placed on all four axes, and in the case where only X- and Y-axes are defined, the tick marks on the right and top axes are duplications of those on the bottom (X) and left (Y) axes. In some cases, however, it may be advantageous to draw only the bottom and left-hand axes, leaving the plot "open". Setting OPENAX to a non-zero values (or to YES, yes or y) allows the user to do this. The user may still specify a right-hand axis, even though OPENAX is non-zero, and the right-hand axis will appear in its usual place, leaving only the top of the plot open. XLABEL, YLABEL, and RLABEL These parameters accept text input, and they define the labels to be given to the respective axis. An axis label can be up to 50 characters long, and they can have superscripted and subscripted text as well as symbols in them. The only differences between axis labels and messages, described below, are that (a) an axis label must occupy only one line and (b) axis labels are not bounded by leading and trailing quotation marks. Axis labels are centered along the desired axis. The X-axis label is plotted below the X-axis; the Y-axis label is plotted to the left of the Y-axis line and annotations at a 90-degree angle, i.e., with the characters oriented upward; and R-axis label is plotted to the right of the R-axis at a 270-degree angle, i.e., with the characters oriented in a downward direction. LABSIZ The default label character height is computed internally by PLT, and it is a function of the average length of the X- and Y-axis. The user can modify this by adjusting LABSIZ. When LABSIZ is positive or zero, it acts as a multiplier that operates on the default label size. A zero value produces no axis labels, and values greater or less than one produce proportionately larger-than-normal or smaller-than-normal character heights for axis labels. When LABSIZ is negative, the internal computation of label height is overridden, and the label character height used (in inches) is the absolute value of LABSIZ. For example, if the user desires labels that are 1/2 inch tall, then he/she should set LABSIZ=-0.5 . b. Data Output Control This group of parameters determines how the specified data are to be plotted. PLTYPE This parameter defines the plot type. Four types of plot exist, namely SYMBOLS ONLY (Type 1), LINES ONLY (Type 2), BOTH SYMBOLS AND LINES (Type 3), and HISTOGRAM (Type 4). Thus, PLTYPE only has four possible values. The default plot type is Type 3 (symbols plus lines). A useful feature of PLT is that the user can define PLTYPE with text as well as by the numerical plot type. For example, the commands PLTYPE=symbols PLTYPE=SYMBOL PLTYPE=s PLTYPE=1 all produce the same result. In order to use a text argument, the user need only provide the first letter, either upper or lower case, with S designating "symbols only", L designating "lines only", B designating "both symbols and lines", and H designating "histogram". A histogram plot will cause the data to be plotted in bar-graph form along the X axis, using as many bars as there are data values. Note that empty histogram bins must be accounted for. LINTYPE This parameter defines the type of line, dashed or solid, to use in plotting the data (when lines are specified). Values greater than 1 designate dashed lines and determine the length of the dashes, with larger values generating longer dashes. A value of 1 produces dotted lines. Solid lines (the default) are designated by setting LINTYPE equal to 0. SYMBOL This parameter defines the symbol number to use in plotting data (when use of symbols is specified). There are 16 symbols available, of which 5 are filled and 10 are open. The default symbol is symbol #0. The codes for the symbols are as follows: Symbol Number Shape Symbol Number Shape ------------- ----------- ------------- ----------- 0 Open square 10 Filled square 1 Open circle 11 Filled circle 2 Open erect triangle 12 Filled erect triangle 3 Open inverted triangle 13 Filled inv. triangle 4 Open diamond 14 Filled diamond 5 Hourglass 15 Filled hourglass 6 Asterisk 7 Plus sign 8 "Picnic table" 9 Up-pointing arrow Note that numbers for filled symbols are equal to their unfilled values plus ten, and that only five filled symbols exist. In order to conserve disk space, filled symbols on raster-scan devices are created artificially; for large plots generated on raster devices by fussy users, filled symbols may not be entirely acceptable. The default symbol number is 0 (open square). SOLID SOLID is a carryover from PLTFIL, where setting it to a non-zero value caused symbols to be artificially filled. It exists in PLT solely for compatibility with PLTFIL. If SOLID is non-zero, PLT will choose the appropriate filled symbol to use, if one exists. If none exists, either symbol #10 or symbol #14 will be used. The default value is SOLID=0. Alternatively, the user can type variations of YES and NO to set the parameter. SHADE This parameter, when non-zero or YES, will cause histogram bars to be shaded or filled. SYMSIZ This is a multiplier for symbol size. A default symbol size is determined internally, and it varies with the size of the plot. In cases where the user wants a different symbol size, he/she can set SYMSIZ to different values and adjust the symbol size accordingly. For example, half-normal-size symbols can be produced by setting SYMSIZ to .5, and double-size symbols can be produced by setting SYMSIZ to 2. When SYMSIZ is negative, internal computation of annotation character size is overridden and the height of the annotation characters (in inches) is the absolute value of SYMSIZ. c. Annotation Control Annotations are the values printed next to each tick mark. In PLT, the user has a lot of flexibility with these. Parameters in this class are as follows: XANSKP, YANSKP, RANSKP These parameters control the manner in which major intervals are annotated. Each is a skip factor whose values range from zero upward. A value of zero indicates that no annotations are to be skipped, that is, that all annotations are to be labelled. A value of one indicates that every other annotation is to be labelled, and so on. A value less than zero indicates that no annotations are to be produced, i.e., the axis has tick marks, but has no annotation values adjacent to the tic marks. ANNSIZ ANNSIZ controls the size of the characters used in annotations. When it is zero or positive, it acts a multiplier that operates on the internally-computed annotation character size. The default value is one. Values greater than one produce larger-than-normal annotations, and values less than one produce proportionately smaller annotations. When ANNSIZ is negative, internal computation of annotation character size is overridden and the height of the annotation characters (in inches) is the absolute value of ANNSIZ. XFMT, YFMT, RFMT These are text strings that define annotation formats for the X-, Y-, and R-axes, respectively. Allowable formats are I (for integer) and F (for floating-point). The form of the string is Im or Fm.n, where I specifies integer annotations, i.e., whole numbers, and F specifies floating-point annotations, i.e., values with a decimal point. In keeping with standard FORTRAN format specifications, m defines the number of characters to use; however, PLT internally determines how many characters exist in each annotation and adjusts accordingly, so that specifying m is actually unnecessary. n specifies the number of digits after the decimal point in floating-point annotations, and it must be specified. The default formats are I for all three axes. PLT adjusts annotations such that they are centered next to tick marks. The default condition for all axes is for annotations to run parallel to the axis. YHOR This parameter, when non-zero or YES, instructs PLT to plot the Y- and R-axis annotations horizontally, i.e., in the same direction as the X-axis annotations. This allows annotations to be read somewhat more easily. When horizontal Y- and R-axis annotations are used, the axis labels are moved away from the axes by the correct distance, depending on the annotation values and formats. When employing horizontal annotations, users should allow enough space on the left- and right-hand sides of the plot for both the annotations and the axis labels. The default condition is vertical orientation of Y- and R-axis annotations, i.e., YHOR=0. d. Messages Users can place text messages inside or outside plot frames. Features of this that have been added in PLT are that (a) multiple messages may be defined and plotted without intervening PLOT commands, so long as axes have already been plotted, (b) text can be superscripted and subscripted, (c) symbols can be inserted in message strings, and (d) messages can be entered from the keyboard at run time. "texttexttexttext" Message strings are defined by leading and trailing quotation marks. The message is the text inside the quotation marks, and the quotation marks do not appear on the plot. Message text may occupy several lines. In this case, the first character of the second and successive lines will be positioned below the first character of the first line. A maximum of 256 characters is allowed per message. Putting an asterisk as the first character after the leading quotation mark instructs PLT to accept a message string from the user's keyboard, as long as his/her terminal is not the output device. A special character, $, exists as a space-holder, and it is converted into a blank before plotting the message. The user defines superscripted text by bounding the text string with { and }. Likewise, subscripted text is bounded by [ and ]. The brackets are not plotted. This means, of course, that brackets cannot be used except to define superscripted and subscripted text. Symbols in message strings are defined by enclosing the number of the desired symbol in vertical bars. An asterisk in place of a symbol number instructs PLT to use the last-defined symbol number. Symbols in message lines are plotted at the same size that they were for data values. For example, suppose the user wants a three-line message, with the first line being "Experimental Conditions:", the second line indicating that F-sub-one equals 1000 and is plotted with the current symbol, and the third line indicating that F-sub-two equals 2000 and is plotted with filled squares. An appropriate message string could be "Experimental$Conditions: |*| F[1] = 1000 |10| F[2] = 2000" Note that the message continues on to the second and third lines since a terminating quotation mark has not been provided yet, that $ will be changed to a blank, that the current symbol and symbol number 10 (filled square) are to be used, that the subscripts are bounded by brackets, and that neither the bracket or the vertical bars will be plotted. In this example, the only thing the user has to keep in mind, is whether the current symbol size is small enough to fit properly into the rest of the message. MXLLC and MYLLC These define the X- and Y-axis positions of the lower left-hand corner of the first character of the message. The values are in inches relative to the lower left-hand corner of the axes, i.e., from the point where the X-axis line meets the Y-axis line. Messages can be positioned outside the plot boundaries. MSGDAT Setting this parameter to a non-zero value, or to YES, yes, or y, instructs PLT to interpret MXLLC and MYLLC as an (X,Y) coordinate relative to the axis values. For example, if the X- and Y-axes are both 6 inches long and both go from 0 to 100, and if MSGDAT is set to YES, then a MXLLC-MYLLC combination of 50 and 50 will cause the lower left-hand corner of the message to begin at the point where a data value of (50,50) would be positioned, i.e., three inches up from the Y-axis line and three inches to the right of the X-axis line. MSGDAT is equivalent to MSGLOC in the old PLTFIL, and its default value is 0 or NO. MSGANGLE This parameter controls the angle at which a message is to be plotted, in degrees that move counterclockwise from the X-axis. Thus, if MSGANGLE=90, then the message is oriented upward; and if MSGANGLE=180, then the message is upside-down. The default value is 0. MSGSIZ MSGSIZ is a multiplier that controls the size of characters in messages, relative to a "standard" message character size generated internally by PLT. Values less than 1 produce proportionately smaller-than- normal messages, and values greater than 1 produce larger-than-normal characters in messages. The default value for MSGSIZ is 1. When MSGSIZ is negative, internal computation of annotation character size is overridden and the height of the annotation characters (in inches) is the absolute value of MSGSIZ. e. Miscellaneous Parameters AXLWT, LABLWT, ANNLWT, MSGLWT, PLTLWT These parameters control line weights for axis lines (AXLWT), axis labels (LABLWT), annotations (ANNLWT), messages (MSGLWT), and data values with their connecting lines (PLTLWT). Each of the parameters modifies the default line weight given to the associated aspect of the plot. Currently negative values instruct the Tektronix 4662 Pen Plotter to use the pen corresponding to the absolute value of the line weight, and since no other devices which have the capability to take advantage of different line weights are installed, positive values have no meaning. The default value for all the line weights is -1. SIZFAC Internally, PLT computes "standard" character sizes, line weights, symbol heights, etc., on the basis of the average axis length, i.e., half the sum of XLEN and YLEN. This is done so that plots retain the same aspect ratios as they differ in size. SIZFAC allows the user to control the "standard" sizes of tick marks, axis labels, annotations, messages, symbols, etc., as well as line weights. It is used primarily to standardize aspects of multiple- panel plots in situations where the user desires constancy in the way individual panels are plotted, even though they may be of different size. SIZFAC can take on three types of values. A negative value instructs PLT to use, for the current frame, the standard sizes computed for the previous plot frame, regardless of the current plot frame's size. Thus, setting SIZFAC to, say, -1, will cause the annotation height, tick mark length, axis label height, etc., from the previous frame to be retained for the current frame. Setting SIZFAC to a positive value instructs PLT to compute the various sizes, line weights, etc., based on the specified average axis length. Thus, if SIZFAC=7, then the various sizes, weights and lengths are determined as though the average axis length were 7, as it would be for a plot that was 6x8 or 5x9, even though the actual average axis length is something else. The default value, SIZFAC=0 or NO, causes PLT to re-compute the various lengths and heights based on the current average axis length. ECHO Setting this parameter to a non-zero value (or to Yes, Y or y) will cause PLT to echo each input line from the user's file as it is read. GRID Setting this parameter to a non-zero value (or to Yes, Y or y) will cause PLT to plot grid lines at each major interval. If a right-hand axis has been specified that differs from the left-hand axis, or if OPENAX has been set to a non-zero value, then the grid will not appear. The default condition is GRID=0 (or NO, N, no or n). Users familiar with TEK will note that dashed rather than solid grid lines are produced on Retro-graphics terminals. 3. Keywords Keywords, of which there are 7, control aspects of plotting that do not relate to the physical dimensions of the plot. None of the keywords has a value associated with it. The keywords recognized by PLT are as follows: PLOT This instructs PLT to plot a frame based on the current values of all of the parameters. In addition, existing data and the most recently entered message are plotted as well. After a PLOT command has been given, the user may plot additional messages and data on the same frame. In this case, new messages are plotted as they occur, but plotting of data requires a new PLOT command. FINISH This keyword terminates and closes a plot file. If a FINISH keyword is encountered in a plotfile that has been CALLed or INCLUDEd from the main plotfile, then transfer reverts to the calling plotfile, and the CALLed plotfile is closed. FINISH should be the last line in the user's plotfile. Its presence, however, is not really necessary, since PLT will take the correct actions even if a FINISH keyword is absent. DATLIST This keyword causes PLT to type the contents of the data buffer on the user's terminal. If the user's terminal is the output device, nothing happens. Since the data buffer is cleared as soon as the data are plotted, entering DATLIST after a PLOT command will produce a "*** Data Buffer Empty ***" message. PRMLIST This keyword instructs PLT to type the current parameter values on the user's terminal and pause. NEWFRAME This keyword instructs PLT to begin a new plot frame on the current page. NEWFRAME is the command given when the user wants to end one plot frame and put another plot frame on the same page. NEWPAGE NEWPAGE instructs PLT to advance to a new page. If the output device is a Tektronix or Retro-graphics terminal, the bell is rung once to signal the user that the current page is done. When this occurs, the user must type a carriage return in order to have PLT erase the screen and continue. DATA This keyword exists only as a convenience for the user. It indicates that the lines following the DATA keyword are data. Actually, PLT can interpret data values correctly without having to be told so. 4. Data Values Data values may be put into PLT's data buffer in one of three ways: The most common way is to enter X,Y,Z values into the plotfile and have PLT interpret them. These values are interpreted such that the first two values correspond to the X- and Y-coordinates of the datum, and the third or Z value corresponds to an error measure for Y that, if it exists, is plotted as an error bar. Histogram bin values occupy only the X-value. In PLTFIL, users were limited to a maximum of 256 values in the data buffer. In PLT, this is not the case. If the number of values exceeds 256, a PLOT command is automatically issued, and the program continues to read data. Data can also be entered manually in one of two ways. If PLT encounters a single asterisk as the only input on a plotfile line, then PLT asks the user to input a single X,Y,Z data value. If the user's terminal is the output device, then the request for input is ignored. A double asterisk (**) causes PLT to request multiple data values, with the user terminating input by entering a blank line, i.e., by typing without any preceding characters. Again, an infinite number of values can be entered manually, and PLT will plot them in groups of 256. Valid data values are interpreted automatically by PLT. The user need not precede data values with a DATA keyword. Consider the following sequences: (1) (2) (3) (4) DATA DATA 0 10,10 10,10 * 4 20,20 20,20,3 * 10 ** 30 * 5 Sequence (1) causes three values to be read and put at the current end of the data buffer. The first value has an X-coordinate of 10 and a Y-coordinate of 10, with no error bar. The second value has X- and Y-coordinates of 20, with an error bar three units long on either side. The third value has an X-axis coordinate of 30. The Y-coordinate, since it is unspecified, is set to 0. Sequence (2) causes PLT to accept three data values from the user's keyboard. Sequence (3) causes PLT to read 4 values into the data buffer, assigning them to consecutive X-axis values. Each Y-value is zero. These are valid histogram bin values. Sequence (4) reads two data values from the plotfile, then asks the user to supply the remainder. Data are added to the buffer as they occur in the plotfile. It is only when a PLOT, NEWFRAME, NEWPAGE or FINISH command is given that they are actually plotted and the data buffer is optionally cleared. 5. Transfers of Control These parameters, of which there are three, instruct PLT to transfer input control to another file or program. The operation of these is as follows: CALL filespec INCLUDE filespec These are equivalent commands that function like a subroutine in FORTRAN or an INCLUDE statement in RATFOR. They cause PLT to open the plotfile named "filespec" and take subsequent input from it, continuing until that plotfile is exhausted or until a FINISH command is encountered. When this happens, the CALLed plotfile is closed, and control reverts back to the original plotfile at the line following the CALL command. If the argument to CALL or INCLUDE is an asterisk, then PLT obtains the named plotfile as an entry from the user's keyboard. If the user's terminal is the output device, the command is ignored.