PLOTSO ------------------------------------------------------------------------------- PLOTSO is a separate program for displaying X-Y graphs of data stored in simple ASCII text files. PLOTSO can be started by entering the name of the ASCII file to be plotted on the DOS comand line as in the following example: PLOTSO SAXI$TEST:PLOTSO.DAT If the filename is not given, PLOTSO will prompt for it. You can print the plot to any supported (ie HP compatible printer) by pressing CTRL-P after the graph has been drawn. A PRINT SCREEN panel appears with default settings for both the printer device and printer type. The default print filename is SAXI$PRINTER. You can either define this name as a logical name or environment variable, or input a different filename on the panel; use PRN to write directly to a printer on the PC, or SYS$PRINT to write directly to the VAX print queue. The default printer type is PCL4, HP LaserJet or compatible printer. PLOTSO can also create TIFF files which can be imported into word processors. TIFF files produced on the PC will include the PLOTSO window border and title, while on other computer platforms only the plot is sent to the TIFF file. PLOTSO data files are simple ASCII text files which contain X,Y pairs in (FORTRAN-compatible) free format, one pair per line. This results in a simple X-Y plot with automatic scaling of the axes to accommodate the data. The data file may optionally contain directives, which are lines starting with the special 3-character sequence !@!, that allow you greater control over the appearance of the plot, and also allow multiple plots to be defined in the same file. The directive prefix !@! must begin in the first column of a line, one directive per line. A line with the character "!" in the first column is taken as a comment and skipped, unless it starts with the directive prefix. Most of the directives need to be followed by a few parameters, again in free format. Some of the directives require you to specify X,Y fractional coordinates. The convention for these coordinates is that (X,Y) = (0.0, 0.0) corresponds to the lower left of the graph viewport and (X,Y) = (1.0, 1.0) corresponds to the upper right. When you use a directive, the directive remains in effect for all remaining lines in the file, unless superseded by another occurrence of the directive. The directives are: !@!A Writes a text string at specified X,Y fractional coordinates. Requires the fractional X, fractional Y, and text string as parameters. An example is: !@!A 0.5,0.5, This is some text !@!C Specifies X,Y character size for subsequent annotation text. Requires the X character size and Y character size as parameters. Each size is specified as an integer from 1 to 4. An example is: !@!C 1,2 By default, text is written in size 1,1. !@!G Normally the plot is drawn with a dashed grid highlighting certain tic marks. This directive lets you specify whether or not the grid is to be drawn. Examples are: !@!G1 to enable drawing of the grid, or !@!G0 to disable drawing of the grid. !@!L Sets plot axis limits, overriding the auto-scaling normally performed. Requires four parameters, Xmin, Ymin, Xmax, Ymax corresponding to the lower X, lower Y, upper X, and upper Y axis limits, respectively. If both the lower and upper limit for an axis are specified as zero, autoscaling is restored for that axis. The default limits are 0,0,0,0, meaning that auto-scaling is performed on each axis. When an axis is auto-scaled, a "nice" interval for tic marks is determined. This interval is always 1, 2 or 5 times some power of 10. Limits are then chosen which are integer multiples of this interval and which contain the range of values input for the axis being auto-scaled. An example of this directive is: !@!L0,0,100,0 This example specifies that the X-axis will range from 0 to 100, and the Y will be auto-scaled based on the range of the input Y-values. !@!M Specifies the character to be used as a Marker. The Marker Character is plotted at each subsequent X,Y point. The marker character must immediately follow the directive; that is, it must be the fifth character on the line. Examples are: !@!M+ to plot a + at each input X,Y position, or !@!M to disable plotting of a character at each X,Y position. !@!N Specifies that subseqent X,Y points should be drawn as a new plot, rather than added to the existing set of axes. This directive requires no parameters. If you use this directive, you'll want to make sure to specify separate !@!V viewport directives for each plot, so they don't overlap within the graphing window. !@!P Specifies that the X,Y points encountered so far are to be drawn, and that subsequent points will be drawn as a separate curve. If you're drawing multiple plots, issue a !@!P after the X,Y pairs of the first plot to draw it, followed by a !@!N to begin the second. If you're drawing multiple curves in the same plot, issue !@!P after the X,Y pairs in each curve. !@!S Specifies a line style for a connecting line to be drawn between X,Y pairs. Supply one of the characters 0,N,S or D as a parameter. Line styles are: !@!S0 or !@!SN for no connecting line (e.g., for scatter plots), !@!SS for a solid connecting line, and !@!SD for a dotted connecting line. !@!V Specifies the viewport to be used for the subsequent plot, in fractional coordinates representing fraction of the entire area available for graphs. Requires the four parameters Xmin, Ymin, Xmax, and Ymax, which represent the lower X, lower Y, upper X, and upper Y viewport limits, respectively. By default, these limits are 0,0,1,1, meaning that the viewport occupies the entire graphing area. For example, if you wanted to confine the graph to the left half of the available area, you could issue the directive: !@!V0,0,.5,1. !@!X This directive specifies the X-axis label. Follow the directive with the text to be drawn along the X-axis. By default, the text is "X-AXIS". For example, if you're plotting a function vs. time, you might issue the directive !@!XTime (seconds). !@!Y This directive specifies the Y-axis label. Follow the directive with the text to be drawn along the Y-axis. By default, the text is "Y-AXIS". For example, if you're plotting pixel values as a function of position, you might issue the directive !@!YPixel Value. Normally, Y-axis text is written vertically (but not rotated, since some graphic environments, most notably X-Windows, don't support rotated text); however, if the text contains hyphens or parentheses, it writes the text horizontally. In this latter case, you need to keep the axis label very short. !@!DB Draws a retangular box at specified X,Y,W,H fractional coordinates. Requires the fractional X, fractional Y, fractional W, and fractional H as parameters. An example is: !@!DB 0.5,0.5,0.1,0.1 !@!DD Draws a dot at specified X,Y fractional coordinates. Requires the fractional X and fractional Y as parameters. An example is: !@!DD 0.5,0.5 !@!DE Draws an ellipse at specified X,Y,W,H fractional coordinates. Requires the fractional X, fractional Y, fractional W, and fractional H as parameters. An example is: !@!DE 0.5,0.5,0.1,0.1 !@!DL Draws a line segment between specified X1,Y1,X2,Y2 fractional coordinates. Requires the fractional X1, fractional Y1, fractional X2, and fractional Y2 as parameters. An example is: !@!DL 0.5,0.5,0.1,0.1 !@!E Erases a retangular box at specified X,Y,W,H fractional coordinates. Requires the fractional X, fractional Y, fractional W, and fractional H as parameters. An example is: !@!E 0.5,0.5,0.1,0.1 See SAXI$TEST:PLOTSO.DAT for an example of a PLOTSO data file. The syntax for starting PLOTSO is: PC syntax: X PLOTSO /X= /Y= /W= /H= DATA_FILE >PLOTSO.ELG The space between PLOTSO and the first qualifier is required. VAX SYNTAX: PLOTSO :== $SAXI$SYSTEM:PLOTSO PLOTSO /X= /Y= /W= /H= DATA_FILE IRIS syntax: plotso -x= -y= -w= -h= data_file Note: The startup command files supplied on VAX and PC systems define the system-specific syntax components, so that the command PLOTSO /X= /Y= /W= /H= DATA_FILE is all you normally need to issue.) When you start PLOTSO you can also specify the qualifiers /W= and /H= on the command line, where represents a numeric value. The value given for /W is the desired window width in pixels and the one for /H is the desired window height (if you want the full screen but are not sure of the number of screen pixels, use /W=9999 /H=9999. Under MS-DOS the graphics window is always centered on the screen. Under VMS or IRIX you can also specify the X and Y pixel numbers desired for the upper left corner of the graphics window with /X= and /Y=. If the /W and /H are not given, they default to 704 and 600 respectively (providing a screen dump which reasonably covers the full page width of both the LaserJet (at 100 DPI) and the PaintJet (at 90 DPI). The window width affects the print screen option. The program requests a dot-per-inch resolution from the printer which is equal to or higher that the screen width in pixels divided by 7.75 inches. the following screen widths fill the printed page reasonably well: /W=704 (default) LaserJet @ 100 DPI, PaintJet @ 90 DPI /W=520 LaserJet @ 75 DPI, PaintJet @ 90 DPI /W=1024 LaserJet @ 150 DPI, PaintJet @ 180 DPI Note The smaller widths result in faster screen dumps, especially when the printer is on a serial port.