Tech Note: No. 46 Subject: PLOT and plotting devices Date: 22-AUG-1990 Introduction ------------ The PLOT utility allows you to get a hardcopy of your plot on any convenient (non-private) device which is capable of supporting your graphics code. The plotter you use need not be physically connected to the computer system you are on. It may be part of a local or remote system which is virtually connected to your system. In this respect, PLOT is very similar to the PRT utility which is available on the IBM 3090, and all of the VAXes which are managed by University Computing Services. By using the available device selection qualifiers, you can specify which device your plot is to be produced on. A list of the available sites can be retrieved on-line by using the PLOT/PLOTTERS command. Command Specification ------- ------------- Although command specification varies from one operating system to another, PLOT has been designed to "feel natural" while maintaining a consistent format regardless of the operating system being used. That is, the form of the PLOT command is similar to the form used for other commands under your operating system, but most qualifiers are present in all versions of PLOT. Command Format -------------- The PLOT command has the following format: $ PLOT filespec [/qualifiers] (for VMS) PLOT filespec [( qualifiers] (for CMS) A brief description of the parameters and qualifiers for PLOT is given in the help facility under the PLOT keyword. Page 2 Parameters ---------- There is only one parameter to the PLOT program, "filespec". Only one file may be specified. For VMS, the file specification must contain both the file name and the file type of the file you want to have plotted. Wild cards are not permitted in the file specification. For CMS, the file specification must contain both the file name and the file type; the file mode is optional. Device Selection Qualifiers ------ --------- ---------- The /SITE, /EQUIPMENT, and /UNIT qualifiers may be used to specify the location and/or the type of equipment to use in the same way that they are used with the PRT command. The SITE qualifier specifies the "location" where the device is; the EQUIPMENT qualifier specifies the "kind of device" (e.g. Printronix, ZETA, XEROX, et al.), to use; lastly, the UNIT qualifier is used to select one of several devices of a particular device type if there is more than one at a given location. In most cases, use of the EQUIPMENT qualifier will suffice to determine which device to use. However, if the device table lists more than one site for the particular equipment you have selected, or the site has multiple devices of a that type, then the SITE and/or UNIT qualifiers may be used to refine the designation. These qualifiers are common across all systems that support PLOT. The /QUEUE qualifier is an alternate way to specify a device. It exists as a convenience to VAX users who are in the habit of associating a queue name with a printer (e.g. PRINT/QUEUE=SAVERY). A QUEUE name is essentially a shorthand synonym for a (SITE, EQUIPMENT, UNIT) triple. In general, a queue name is associated with only one (SITE, EQUIPMENT, UNIT) triple, but this is not always the case. There may be occasions where use of the QUEUE device specification is not sufficient to select a device, but this is not to be expected. It may sometimes be necessary to use the /NODE qualifier in addition to the /QUEUE qualifier. For instance if several QUEUES exists with the same name (e.g. PRINTER), then the NODE specification may be used to select a particular queue based upon which machine the queue is on. Generally it should not be necessary to chose between the same kind of equipment located at the same site since such devices are functionally equivalent. NOTE: You may not mix the /SITE, /EQUIPMENT, and /UNIT qualifiers with the /QUEUE and/or /NODE qualifiers. For examples of using the various device specifications, see the Technical Note for PRT. Page 3 The Code Qualifier --- ---- --------- The /CODE=code-type qualifier tells PLOT what type of graphics code your plot file contains. Normally, PLOT will assume that your plot file contains code which is instantly recognized by the plotting device, and so use of the CODE qualifier may not be necessary. However, if your plot file contains graphics code which is not standard for the device, then you must use the CODE qualifier. If PLOT doesn't know how to handle either the code or the device you have specified, then it issues an error message. Pen Specifications --- -------------- If you select a pen plotter for your hardcopy output, you will need to specify the pens you want to use. The PLOT program supports 8 different pens, although the actual device may only accept 3 or 4. (This leaves room for expansion.) Pen specifications constitute the most significant difference in the various implementations of PLOT. Under CMS pen specifications must be placed in a penfile, while under VAX/VMS they may be given either on the command line or in a penfile. Command line pen specifications are of the form: /PENx[=(COLOR:color-code,TYPE:pen-type,SIZE:pen-size)] For example, if you want pen 1 to be a red fine nylon pen, you would write: /PEN1=(color:RED,type:NYLON,size:FINE) If you want pen 2 to be a black ink pen with a width of .35 millimeters: /PEN2=(color:BLACK,type:INK,size:.35) To specify pens to PLOT under IBM/CMS you need both a "pen file" and you need to tell PLOT about the pen file. Information in the pen file is divided into the following fields, and all data must be left justified within the appropriate field: Pen number : Columns 1-10 Color : Columns 11-20 Pen type : Columns 21-30 Pen size : Columns 31-40 Page 4 A pen file might look thus: col. 1 11 21 31 PEN1 BLACK NYLON FINE PEN2 RED NYLON FINE PEN3 BLUE NYLON FINE PEN4 GREEN NYLON FINE You tell PLOT to look into your pen file with the PENFILE option. The format is: ( PENFILE filename (for CMS) /PENFILE=filespec (for VMS) CMS PLOT will then open and read a file named "filename PENFILE *", while VMS PLOT will use a default file type of ".PENFILE" if one is not specified as part of the penfile specification. The last occurrence of a pen specification is the one that is used. Thus, you may list PEN1 multiple times, but the last one is the one that is used. General Qualifiers ------- ---------- The /PLOTTERS[=file-spec] qualifier lists to the screen (or the specified file) those devices in the device table which are classified as plotters. Qualifiers other than those used to select a device are ignored when the PLOTTERS qualifier is specified, and no file will be plotted. NOTE: Under IBM/CMS, output is written to the current output device. The /HC=handling-code qualifier specifies a handling code to be placed on the banner for the hardcopy output. This is used by the operators when filing your output. If you specify a single character for the handling code, the handling code is set to the string "HC-c", where "c" is the character specified. These single character handling codes are used by various departments to have their output sent to them. The /VERSION qualifier tells PLOT to display it's current version number. This information also contains information as to when the program was last built. When you use the VERSION qualifier, PLOT takes no other action. Additional qualifiers allow you to specify the forms code (/FORMS) and the number of output copies (/COPIES). NOTE: Some devices may ignore these values. Page 5 Defaults -------- /COPIES - one copy. /EQUIPMENT - The first device in the table for the site and system. /FORMS - Default forms code for the specified device. /NODE - The name of the node from which you initiated the PLOT command. /ORIENTATION - Portrait. /PLOTTERS - The current output device (usually your terminal). /QUEUE - The combination of defaults for system, site, device, and unit. (Effectively "PRINTER".) This may not be a valid plotting device. /SITE - The first site in the table for the system. /UN - None. /UNIT - The first unit in the table for the device and site. Zeta Notes ---- ----- The Zeta plotter at the Academic Computer Center is an older Zeta (model 3653) for which few programs generate code. The ZETA 1453 flat bed plotter, however, uses the same graphics code. To generate Zeta 1453 graphics code with SAS/GRAPH on the VAXes, specify the "ZET1453X" driver in your "goptions" statement. Be warned, however, that the 1453 plotter has a resolution of 400 dots per inch, while the 3653 plots at 1000 dots per inch. This has an effect on the size of the hardcopy plot. Hardcopy produced on the Zeta 3653 with Zeta 1453 code appear fairly small, so you may wish to size them up in advance. The PLOT program is capable of directing Zeta plot files to the Apple LaserWriter. By default, the plot code is scaled to 400 dots per inch resolution. Either the SAS/GRAPH ZET1453X or ZETA887 driver can be used with the Apple LaserWriter. Experience has shown that the ZETA887 driver will sometimes produce better looking plots than the ZET1453X driver, and yet other plots look better if the ZET1453X driver is used. The difference seems to have something to do with color vs. shading choices. Please note that the ZETA887 driver is NOT compatible with the ZETA 3653 plotter. Note also that producing Zeta plots on the Apple LaserWriter is not particularly quick. It is therefore recommended that only relatively short Zeta plots be sent to the Apple LaserWriter. Page 6 Xerox 4050 Notes ----- ---- ----- The SAS program on the IBM VM system can be used to generate plots for the Xerox 4050 by using the GDDMFAM4 device in your GOPTIONS statement. The resulting file may be sent to the Xerox 4050 by specifying a graphics code of GDDMFAM4. An example SAS statement appears below. GOPTIONS NOTEXT82 DEVICE=GDDMFAM4 GDDMNICKNAME=RASTXIMG NODISPLAY GSFMODE=REPLACE GSFNAME=XEROXG GDDMTOKEN=XIMG300L; GOPTIONS VPOS=51 HPOS=132; Tektronix Thermal Wax Notes --------- ------- --- ----- The Tektronix 4693DX thermal wax plotter in the Academic Computer Center building may sometimes, for historical reasons, be referred to as the "INKJET" plotter. This device is actually front-ended by a Tektronix 4510A. (This means that files sent to the 4693DX actually are sent to the 4510A first.) The function of the 4510A is to generate a 4693D rasterized image of the plot, which is then passed to the 4693DX. The impact of this arrangement is that the plotter cannot accept TEK4693 code. Although the 4510 recognizes many of the Tektronix codes, the TEK4510 format is recommended. The TEK4109 format also has been used quite successfully with the thermal wax plotter. TEK4109 plots generated by the SAS program, however, tend to look different than the corresponding TEK4510 plot. Page 7 Examples -------- To PLOT a TeX DVI file on the Xerox 4050 printer, use the command $ PLOT filename.DVI /QUEUE=XEROX /CODE=DVI (for VMS) PLOT filespec (QUEUE XEROX CODE DVI (for CMS) To PLOT a Zeta plot file on the Apple LaserWriter, use the command $ PLOT file-spec /QUEUE=ALW /CODE=ZETA (for VMS) PLOT filespec (QUEUE ALW CODE ZETA (for CMS) Restrictions ------------ Use of some hardcopy devices may be restricted to those people who have accounts on the machine to which the device is physically connected. If you have selected such a device, you may be required to supply an ID and/or an ACCOUNT. Use of the /ID and/or /ACCOUNT qualifiers may be useful for you. However, at this time no known devices require the use of these qualifiers. Qualifier Summary --------- ------- /ACCOUNT - an account name /CODE - the type of graphics code the plot file contains /COPIES - number of copies to produce /EQUIPMENT - the equipment type to be used /FORMS - the forms code to be used /HC - a handling code to be associated with the plot /HEIGHT - Maximum height (y-coordinate value) of the plot /NODE - the node name to which the device is physically connected /OFFSET - Offset value for the plot /ORIENTATION - Plot orientation /PENx - pen color, type, and size specifications for the plot /PLOTTERS - generate a list of devices /QUEUE - the queue name associated with a particular plotting device /SITE - the site name where the plot device is located /UNIT - the unit number associated with the selected device /VERSION - list the version number of PLOT and when it was last built /WIDTH - Maximum width (x-coordinate value) of the plot Supported Codes and Devices --------- ----- --- ------- Supported PLOT codes: o ADI - AUTOCAD Device Independent file (ASCII) o CGM - A "clear-text" CGM file o CGMB - A "binary" CGM file o CGMC - A "character" CGM file o CGMT - A "clear-text" CGM file o DISPOP - DISSPLA metafile format o DVI - TeX DVI file o GDDMFAM4 - IBM/SAS GDDMFAM4 driver o HPGL - Hewlett-Packard Graphics Language o NCAR_CGM - A modified "binary" CGM format which is produced by NCAR o POSTSCRIPT - PostScript page description language o PRINTRONIX - Printronix graphics code o TEK4010 - Tektronix 4010 code o TEK4109 - Tektronix 4109 code o TEK4510 - Tektronix 4510 code o VDS3400 - Versatec Data Stream (plot file) 3400 series o VRF3400 - Versatec Random File (intermediate) 3400 series o ZETA - Zeta plot codes o ZETA887 - Zeta 887 plot code (this is the SAS driver name) o ZET1453x - Zeta 1453 plot code (this is the SAS driver name) Support PLOT equipment: o ALW - Apple LaserWriter o PRINTRONIX - Printronix printer/plotters o TEK4693DX - Tektronix Thermal Wax plotter (aka INKJET) o VERSA3436 - Versatec 3436 electrostatic plotter o XEROX4050 - The Xerox 4050 printer o ZETA - The ACS site Nicolet Zeta plotter NOTE: Currently, the VM/CMS PLOT program does not support PRINTRONIX printers or plot files. Combinations allowed by PLOT: Device Codes ------ ----- ALW CGMx, POSTSCRIPT, ZETA INKJET CGMx, TEK4109, TEK4510 PRINTRONIX PRINTRONIX VERSA3436 ADI, CGMx, VDS3400, VRF3400 XEROX4050 ADI, CGMx, DVI, GDDMFAM4 ZETA ZETA, ZETA887, ZET1453X Combinations allowed by PLOT: Computer system Devices --------------------- Codes | IBM | VAX/VMS | ======================================== Apple LaserWriter | | | PostScript | xxx | xxx | CGMx | xxx | xxx | Zeta | xxx | xxx | ---------------------------------------- Inkjet Plotter | | | Tektronix 4109 | xxx | xxx | Tektronix 4510 | xxx | xxx | CGMx | xxx | xxx | ---------------------------------------- Printronix | | xxx | ---------------------------------------- Versatec 3436 | | | VDS3400 | xxx | | VRF3400 | xxx | | ADI | xxx | xxx | CGMx | xxx | xxx | ---------------------------------------- Xerox 4050 | | | ADI | xxx | xxx | CGMx | xxx | xxx | DVI | xxx | xxx | GDDMFAM4 | xxx | | ---------------------------------------- Zeta | xxx | xxx | ======================================== Limitations ----------- The following limitations exist in this version of PLOT. o Plotting of PRINTRONIX plot files is only permitted to devices connected to the local node. o Output plotted on the XEROX4050 is preceeded by a log file which will list any errors which were detected by the PLOT server. These errors may include, but will not be limited to, the following errors: 1) Unknown font request(s). Not all of the fonts and/or magnifications of fonts are available for the XEROX4050. Missing fonts are noted on the log page. You must select a different font. 2) \special=(text) TeX allows the use of a "\special" operator, which is to be interpreted by the DVI postprocessor. Such instructions are NOT processed by the program for the XEROX4050 printer. For example, one use of the \special operator was to select landscape orientation for your output. To get your TeX output printed in a landscape orientation on the Xerox 4050, use the appropriate forms code. o PLOT does not yet exists on Unix systems. Some versions of the PRT utility, however, will support a -Cgraphics-code option. Files PRTd with this option will be given to the PLOT utility to be dealt with. For example, the unix command prt -CPOSTSCRIPT -QALW document.ps will result in the file "document.ps" being given to the PLOT utility for processing.