BR) Details concerning the DESL
pubplot command.The DESL "pp" function allows the user to generate a PostScript file containing one or more frames of publication-qual graphic output.
Please review the anatomy of a plot for an overview of the main parts of a typical DESL plot.
A complete PostScript plot file can contain an unlimited number of frames. A "frame" is one page. Each frame can contain an unlimited number of plots. A "plot" is a display of information for up to 20 curves. A "curve" is a sequence of information which, in general, will be displayed together, represented by a certain symbol and/or line.
| . |
(Begin modifications on 052102)
All curves for a particular plot can contain a
maximum of 50000 points.
(End modifications on 052102) |
The time at which this total of points is established is AFTER
A "blank" box, filled or unfilled, is drawn before a key. A key is drawn before all "text" strings.
All LOCATION arguments which can be specified for "pp" options are in INCHES, unless otherwise stated. The default size of a plot is 10 inches by 10 inches. This size can be affected in many ways.
The "pp" function is unique among DESL functions in that the processing of specified options/argument lists is NOT totally order independent. Except where noted within the definition of specific options, the entry of option/argument lists IS order independent UP TO THE POINT of issuance of the "plot" or "plotf" option. At that time a plot is generated. After a plot is generated the user-specified sequence of options/argument lists is once again referenced until "plot" or "plotf" is encountered. This cycle repeats until the end of the user specifications is reached. Careful attention should always be paid to the current state of the definable plotting parameters.
Any names enclosed in brackets are required or are in a set of options, one of which must be specified. Any non-blinking names enclosed in brackets are optional or are in a set of options, only one of which can be specified.
In cases where the option name is one of a set each different set number is indicated by a red numeric set number superscript trailing the respectiveright bracket :
BRabsorigin)
(Command :pubplot) Details for the absorigin option.Example : absorigin
BRallfrom)
(Command :pubplot) Details for the allfrom option.
BRaltvars)
(Command :pubplot) Details for the altvars option.
BRannmag)
(Command :pubplot) Details for the annmag option.Example : annmag 1.2
BRaorigin)
(Command :pubplot) Details for the aorigin option.Example : aorigin 40 .75
BRarrowhead)
(Command :pubplot) Details for the arrowhead option.Example : arrowhead 1.5
BRauto)
(Command :pubplot) Details for the auto option.
BRautox)
(Command :pubplot) Details for the autox option.
If "autox" or "auto" is specified, the scale extremes WILL be calculated and will override any which could also have been specified via "xmax" and/or "xmin". If the calculated "xmax" and "xmin" values are equal the plot is skipped.
BRautoy)
(Command :pubplot) Details for the autoy option.
If "autoy" or "auto" is specified, the scale extremes WILL be calculated and will override any which could also have been specified via "ymax" and/or "ymin". If the calculated "ymax" and "ymin" values are equal the plot is skipped.
BRautoz)
(Command :pubplot) Details for the autoz option.
If "autoz" is specified, the scale extremes WILL be calculated and will override any which could also have been specified via "zmax" and/or "zmin". If the calculated "zmax" and "zmin" values are equal the plot is skipped.
BRavg)
(Command :pubplot) Details for the avg option.Example : avg 1 1 4 2
BRaxiscolor)
(Command :pubplot) Details for the axiscolor option.Example : axiscolor 3
BRaxisrot)
(Command :pubplot) Details for the axisrot option.Example : axisrot 27.3
BRaxlwt)
(Command :pubplot) Details for the axlwt option.Example : axlwt .65
BRbackward)
(Command :pubplot) Details for the backward option.
BRblank)
(Command :pubplot) Details for the blank option.A fifth value of 0 to 1 will produce a shaded rectangle without a frame. If the 0-->1 value has had 10 added to it, a black frame will also be drawn at the rectangle's perimeter. Up to 10 blank rectangles can be drawn per plot.
Example : blank 1 1 5 6 .85
BRborder)
(Command :pubplot) Details for the border option.Example : border 1 1 5 6 2 12
BRbottominc)
(Command :pubplot) Details for the bottominc option.Example : bottominc .5
BRcangle)
(Command :pubplot) Details for the cangle option.Example : cangle 5
BRcdec)
(Command :pubplot) Details for the cdec option.Example : cdec 4
BRcdetail)
(Command :pubplot) Details for the cdetail option.
BRcfiles)
(Command :pubplot) Details for the cfiles option.The primary intent of the capability provided via "cfiles" is to allow the inclusion of information which is considered to be CONSTANT; ie, information which would normally be the SAME in ALL SIF DATA records read. An example of this type of data would be pressure port location information.
If specified, and an adjunct file is found and is of a type consistent with the "cfrom" specified or default file type specifier, the contents of the NAMEs record and the FIRST DATA record on the named "cfiles" file is effectively merged into the NAMEs and DATA records, respectively, to result in read SIF records which are as if they had contained the adjunct information originally. Up to 1000 SIF items can be added from an adjunct file.
Example : cfiles add1 add2 Indicates the adjunct files to be used - one per curve, for ADDITIONAL data extraction during plotting. There is a 1:1 correspondence between curves and "cfiles" file names. The primary intent of the capability provided via the "cfiles" is to allow the inclusion of information, along with the read SIF data, which is considered to be CONSTANT; ie, information which would normally be the SAME in ALL SIF records read. An example of this type of data would be pressure port location information.
If specified, and an adjunct file is found and is of a type consistent with the "cfrom" specified or default file type specifier, the contents of the NAMEs record and the FIRST DATA record on the named "cfiles" file is merged into the NAMEs and DATA records, respectively, to result in effective NEW records which are as if they had contained the adjunct information originally. Up to 1000 SIF items can be added from an adjunct file.
Example : cfiles add1 add2
BRcfreq)
(Command :pubplot) Details for the cfreq option.cfreq > 0 : labeling IN-LINE if possible OR at END cfreq < 0 : labeling IN-LINE ONCE if possible OR not at all cfreq = 0 : labeling at alternating ENDS of line ONLY
If a positive value follows "cfreq", this value IS the minimum distance, in inches, between contour in-line labels. The actual distance between labels may vary, depending on other label positioning parameters.
The default value of cfreq = 1.
Example : cfreq 0
BRcfrom)
(Command :pubplot) Details for the cfrom option.Example : cfrom ffsif sif rep 3 ffsif
BRcharalign)
(Command :pubplot) Details for the charalign option.Example : charalign
BRckmag)
(Command :pubplot) Details for the ckmag option.Example : ckmag 1.2
BRclab)
(Command :pubplot) Details for the clab option.The default value of "clab" is 1, meaning to label ALL contour level lines.# ....... label only the #th contour level lines #+100 ... like # but also label FIRST contour level line #+200 ... like # but also label LAST contour level line #+300 ... like # but also label FIRST and LAST contour level lines
Example : clab 202
BRcldist)
(Command :pubplot) Details for the cldist option.Example : cldist 1.5
BRclevels)
(Command :pubplot) Details for the clevels option.Example : clevels .4 .6 .8 .85 .9 .95
BRclip)
(Command :pubplot) Details for the clip option.Example : clip off
BRclist)
(Command :pubplot) Details for the clist option.
| . |
(Begin modifications on 052102)
All specified "clist" sets combined must have no more
than 50000 elements.
(End modifications on 052102) |
There must be equal numbers of "xlist" and "ylist" and "clist" members for each respective curve-id specified.
The list of contour names/values which follow the curve-id number can include one or more of four special forms of implicit expansion methods : "curve", "thru", "at", and "to/by". If "curve" is used, a "curvefile" MUST be active. (See "curvefile" option.)
Examples:
clist 5 cp11 curve curve1 cp36 clist 3 p101 p104 thru p122 p133 clist 1 13 at 1.22 4 at 1.445 clist 2 1 to 10 by 1 clist 6 2 at 6 11 to 4 by -1 curve c1 cp12 thru cp18
BRclwt)
(Command :pubplot) Details for the clwt option.Example : clwt .75
BRcmax)
(Command :pubplot) Details for the cmax option.Example : cmax .75
BRcmin)
(Command :pubplot) Details for the cmin option.Example : cmin .75
BRcntld)
(Command :pubplot) Details for the cntld option.
BRcolorkey)
(Command :pubplot) Details for the colorkey option.
If the type of surface plot is type 1 (see above) the color of the "inside" facets of the figure will be some shade (depending on facet orientation) of palette color number 1. (See the "palette" option.) The color of the"outside" facets of the surface will be a shade of palette color number 2.
If the type of surface plot is type 2 (see above) the color of the "inside" facets of the figure will be some shade (depending on facet orientation) of palette color number 1. (See the "palette" option.) The color of the "outside" facets of the surface will be a color which is determined by the correspondence between the local facet average value of the "z" dependent variable and the "z" values defined in the "colorkey" z_value-to-color pairing as discussed below.
In general, the syntax for the "colorkey" argument list is the following :
ckcode x y w h ( z c )1 ... ( z c )10
where,
"ckcode"..up to 5-digit code number representing user desires for key style, etc. See below for more discussion.
"x","y"...x and y location values (inches) from current origin to top left corner of color key bar
"w","h"...width and height of color key bar
"z/c".....pairs of z_value - to - color_number values : where, "z" is a dependent variable value and "c" is a "palette" color number.
Up to 10 pairs of z_value - to - color pairs can be specified. The values of "z" can be implicit as specified by the use of "min" or "max" instead of an expressed value. Facets to be shaded which have associated "z" values which lie outside the limits of the first and last z_value specified will be shaded but will be shaded with the color which corresponds to the limit which that facet's z_value exceeded. When the range of facet "z" values exceeds the range of "z" values as defined for the color key bar, the color key bar will be drawn with an "R" with a circle around it at the appropriate end(s) in which the value was inadequate to contain the actual data range.In reference to the "colorkey" argument list general syntax shown above, the definition of the "ckcode" parameters are the following :
ckcode = a 5-digit code : VWXYZ, where each of the single digits V, W, X, Y, and Z is defined as follows :
V .... Schematic 3-D axis display code :
0 ...... Do not display 3-D axis 1 ...... Display 3-D axis
W .... Type of surface plot to draw :
0 ...... Color of surface : f(facet orientation) 1 ...... Color of surface : f(facet "z" values)
Note : The "inside" surface of a surface plot is ALWAYS drawn with the shading as a function of the surface orientation.
X .... Z-axis color key bar annotation display code :
0 ...... no color key bar drawn; no Z-axis 1 ...... color key bar drawn without Z-axis 2 ...... color key bar drawn with Z-axis on bottom/left 3 ...... color key bar drawn with Z-axis on top/right
The "Z-axis" is an annotated line, with tic marks, which indicates the z_value-to-color correspondence.
Y .... color key bar border type code :
0 ...... no border # (1->9) ==> black border; # multiplies .1 for linewidth
Z .... color key bar orientation code :
0 ...... horizontally-oriented color key bar 1 ...... vertically-oriented color key bar
A schematic example of a drawn color key bar follows.
. Horizontally .... <-------- w ---------> . color . key origin __ # # # # # # # # . \|__|__|__|__|__|__|__| <-- Z-axis (on top) . o_____________________ . ^ | | . h | | . v |____________________| . < ------- ---------> . \ / . V . color gradation = f(z,r,g,b) [see "z/c" above]
. Vertically ...
. color <- w -> . key origin __ . \ . o_____ __ # . ^ | | | ^ . | | | |_ # | . | | | | | . | | |_ # . h | | | color gradation = f(z,r,g,b) . | | |_ # [see "z/c" above] . | | | | . | | | |_ # | . | | | | | . v |_____| |__ # v . . ^ . | . . Z-axis (on right)
Example : colorkey 11240 2 10 6 3 0 3 8 4
BRcolors)
(Command :pubplot) Details for the colors option.Example : colors 1 32 2 18
BRcontour)
(Command :pubplot) Details for the contour option.
BRcopy)
(Command :pubplot) Details for the copy option.Example : copy 2
BRcorder)
(Command :pubplot) Details for the corder option.Example : corder 2
BRcpaths)
(Command :pubplot) Details for the cpaths option.Example : cpaths ..\ ..\Main\ sub1\
BRcports)
(Command :pubplot) Details for the cports option.Example : cports 22
BRcrvlwt)
(Command :pubplot) Details for the crvlwt option.Example : crvlwt 1 1 5
BRcset)
(Command :pubplot) Details for the cset option.
The item immediately following "cset" is the file sequence number in the "files" list for which the following up-to-20 conditions will be applicable.
Each file-specific 3-item condition, like its global 3-item condition counterpart, is made up of (1) a SIF variable name, (2) a 2-character logical conjunction, and (3) a second SIF variable name or a constant.
Example : cset 3 alpha gt phi mach lt 1.2
Here, the user has indicated that, along with whatever
other GLOBAL conditions may have been specified, the
pertinent DESL function, for the THIRD file specified
or implied by the "files" list, will have its application
ALSO limited to records which satisfy BOTH of the two
conditions :
All file-specific conditions are implicitly joined by
an "and" conjunction; ie, by default, all file-specific
conditions would have to be true SIMULTANEOUSLY for
the applicable record to be retained.
If one or more file-specific conditions following
the file sequence number is to be connected to other
file-specific conditions for the same file number by
an "or" conjunction, then the 2-character item "or"
must immediately follow the file number.
Example : cset 2 or alpha lt 0 alpha gt 4
Here, the user has indicated that, along with whatever
other GLOBAL conditions may have been specified, the
pertinent DESL function, for the SECOND file specified
or implied by the "files" list, will have its application
ALSO limited to records in which the value of the SIF
variable "alpha" satisfies at least ONE of the conditions :
Additionally, if the file number following the "cset"
option is negative, the absolute value of this negative
file number is used for the actual file number and the
associated "and" or "or" condition(s) are NOT used in the
traditional sense of filtering the records read but
are ONLY used to indicate when READING of the associated
file is to STOP. This ability is useful in preventing
the reading of a long file when it is known that the
data required is relatively near the beginning of the
file.
Example : cset -1 or run eq 3 alpha gt 24
Here, the user has indicated that when a record is
encountered for which either or both of the two conditions
is/are TRUE, reading of the current SIF file should end.
BRcside)
(Command :pubplot) Details for the cside option.Example : cside 3
BRcsize)
(Command :pubplot) Details for the csize option.Example : csize .4
BRcthresh)
(Command :pubplot) Details for the cthresh option.Example : cthresh 3
BRctol)
(Command :pubplot) Details for the ctol option.Example : ctol -5
BRcurvefile)
(Command :pubplot) Details for the curvefile option.If a curvefile is to be used it MUST be specified BEFORE any "xlist" / "ylist" / "clist" which references it. This is an exception to the normal DESL input rule; normally, the order of specification of a particular function's input options and arguments is not important.
Example : ... xlist 1 cp1 cp2 curve cpxx cp19 ...
In the above example, "xlist" information is expected
to be in existence ON THE CURRENT "curvefile" in a section
contained in the file for "curve cpxx". (See "xlist" /
"ylist" / "clist".)
An example of a curvefile is the following :
curve cpxx
ylist
y101 y103 y112 45.6
y118 thru y124
xlist
x101 thru x111
curve pflap1
xlist
1 1.5 1.75 2.01 2.04 2.09 2.13
ylist
cp119 thru cp113
(Begin modifications on 052102)
Each of these sections can be of any number of
lines as long as the maximum of 50000 accumulated
data names/values is not exceeded.
(End modifications on 052102)
A curve segment
extends until the next "curve" line is encountered.
Note that the structure of the "xlist", "ylist", and
"clist" lines in a curve file is slightly DIFFERENT
than when the "xlist", "ylist", and "clist" options
are encountered in the normal stream of plotting
input.
Example : curvefile pcurvs
.
BRcurves)
(Command :pubplot) Details for the curves option.| . |
(Begin modifications on 052102)
For ALL
curves to be plotted in a single plot, a limit of 50000
plotted points is imposed.
(End modifications on 052102) |
Whether the number of curves is set EXPLICITLY by this "curves" option or set IMPLICITLY by the number of "files" specified, the established number of curves remains in effect until EXPLICITLY changed; ie, changed via a new "curves" specification. The number of curves WILL NOT be implicitly changed via "reset *files".
Example : curves 4
BRdestin)
(Command :pubplot) Details for the destin option.The string following "destin" must be no longer than 32 characters. If the destin string is longer than 16 characters, the question mark delimiters must be used.
Example : destin ?lpr -Plw PF?
BRdfreq)
(Command :pubplot) Details for the dfreq option.Example : dfreq 4 1 1 6
BRdorigin)
(Command :pubplot) Details for the dorigin option.Example : dorigin 1 -.3
BRemptyplot)
(Command :pubplot) Details for the emptyplot option.Example : emptyplot on
BRencaps)
(Command :pubplot) Details for the encaps option.Example : encaps
BRendimport)
(Command :pubplot) Details for the endimport option.Example : endimport eof
BRendloop)
(Command :pubplot) Details for the endloop option.
BRenrich)
(Command :pubplot) Details for the enrich option.Example : enrich 15
BReqtol)
(Command :pubplot) Details for the eqtol option.Example : eqtol .5
BRerrorbarcap)
(Command :pubplot) Details for the errorbarcap option.Example : errorbarcap 3
BRerrorbarlwt)
(Command :pubplot) Details for the errorbarlwt option.Example : errorbarlwt 1.2
BRerrorshade)
(Command :pubplot) Details for the errorshade option.Example : errorshade .85
BRfglwt)
(Command :pubplot) Details for the fglwt option.Example : fglwt .55
BRfgpattern)
(Command :pubplot) Details for the fgpattern option.Example : fgpattern 1 2
BRfigure)
(Command :pubplot) Details for the figure option.Following the optional scale factor which can be specified there can be three other values specified. The first is a figure rotation angle, the next is the x center of rotation, and the third is the y center of rotation. The rotation angle is in degrees, positive being in the counterclockwise direction, and the x and y rotation center position is in inches, relative to the lower left corner of the page. If a figure is to be rotated, ONLY explicit x/y pairs should be specified in the figure; ie, no implicit curve-drawing figure specifications ("arc", etc) should be specified. The default rotation angle is 0. The default center of rotation is a x=0., y=0.
All "(r)imports" are done BEFORE all "(r)figures".
****** WARNING ****** If a landscaped plot is imported into a plot which is, itself, landscaped, the imported plot will, in effect, be landscaped again and appear in an upside-down portrait mode. Up to 20 figures can be drawn. *********************
A figure file contains directives which instruct the plotting software as to what and how to draw desired lines and shapes. It is helpful to have PostScript documentation available when setting up a figure file as the primitives are referenced with respect to correct directive syntax. Basically, a figure file :
All lengths and positions defined in a figure file are in inches. (See "rfigure" for exception.) All angles are in degrees.
The structure of a figure file must adhere to the following rules :
( curve_id point_num offset_dis ) ,
where "curve_id" is the plot's curve number, "point_num"
is the particular plotted data point's sequence number
in the list of all data points which are plotted for
the curve in question, and "offset_dis" is an optional
offset distance. This offset distance is a distance
from the implicit x-y location, in the direction of
the next x-y location, at which to actually begin
drawing the line whose points are currently being
defined. The default offset distance is 0.
The "point_num" parameter can be specified as a numeric
item or symbolicly. The possible symbolic specifications
which can be used are : last, middle, last+#, middle+#,
last-#, and middle-#. Both "last" and "middle" imply
the last and middle plotted point in the specified
curve, respectively. The +# and -# suffixes, where "#"
represents an integer value, serve to add and subtract,
respectively, the specified value (#) to whatever
point sequence number was actually implied by the "last"
or "middle" symbolic base word. Example : If the curve
in question has 19 data points plotted, "last-2" implies
the 17th point.
Some of the directives which can be contained in a figure file closely resemble the PostScript primitives they either mimic or match:
An example of a figure file is given below
- figure
Purpose : To name the figure being defined
Syntax : figure fig_name where "fig_name" is the name of the figure to be defined immediately below. The definition of the figure continues until another "figure" directive is encountered or the file's EOF is reached.
- lw,lineweight
Purpose : To assign a weight to lines which can be drawn (the default lineweight is .75)
Syntax : lw lw_value where "lw_value" is the desired lineweight value
- arc
Purpose : To define a circular arc to be drawn NOW with the current line type and weight
Syntax : arc xcenter ycenter radius ang1 ang2 where the arguments "xcenter,...,ang2" correspond to the 5 arguments which preceed the "arc" PostScript primitive. Gets rewritten in PostScript output file as "xcenter ycenter radius ang1 ang2 arc". See the PostScript documentation for more discussion.
- arcto
Purpose : To define a circular arc to be drawn NOW with the current line type and weight
Syntax : arcto x0 y0 x1 y1 x2 y2 radius where the arguments "x1,...,radius" correspond to the 5 arguments which precede the "arcto" PostScript primitive. Gets rewritten in PostScript output file as "x0 y0 moveto x1 y1 x2 y2 radius arcto" See the PostScript documentation for more discussion.
- curveto
Purpose : To define a Bessier curve to be drawn NOW with the current line type and weight
Syntax : curveto x1 y1 x2 y2 x3 y3 where the arguments x1,...,y3 correspond to the 6 arguments which precede the "curveto" PostScript primitive. Gets rewritten in PostScript output file as "x1 y1 x2 y2 x3 y3 curveto". See the PostScript documentation for more discussion. "curveto" should be preceded by at least one point defined by an x-y pair. This point is referred to as "x0 y0" in the PostScript documentation.
- ah,arrowhead
Purpose : To indicate that at the beginning or at the end of the next line to be drawn an arrowhead is to be drawn. If the "ah" comes BEFORE a line is begun the arrowhead will be drawn on the line's beginning. If the "ah" comes AFTER a line is begun the arrowhead will be drawn on the line's end. If a value follows "arrorhead" or "ah" then this value is a scaling factor which temporarily overrides the arrorhead scaling factor which is already in effect.
Syntax : ah ( # )
- fill
Purpose : To close the current "path" (ie, connect the current point to the first point in the current line), and fill the closed shape with the desired shade of gray or color. The shape's border will be drawn invisibly. The current line is ended when a "fill" is done.
Syntax : fill shade_factor where "shade_factor" is a value from 0 to 1, 0 corresponding to black and 1 to white. If, however, a color has been specified via the "color" directive, the fill is the desired color, regardless of the specified fill shading factor.
- linefill
Purpose : To close the current "path" (ie, connect the current point to the first point in the current line), and fill the closed shape with the desired shade of gray or color. The shape's border will be visible and drawn with the current lineweight and type. The current line is ended when a "linefill" is done.
Syntax : linefill shade_factor where "shade_factor" is a value from 0 to 1, 0 corresponding to black and 1 to white. If, however, a color has been specified via the "color" directive, the fill is the desired color, regardless of the specified fill shading factor.
- line Purpose : To draw the current "path" with the current lineweight and type. The current line is ended when a "line" is done.
Syntax : line
- dash
Purpose : To define the desired dash pattern for visible lines which can be drawn. A dash pattern is established by defining a pattern of black then white line segments.
Syntax : dash num_on (num_off) where "num_on" is a value representing the desired number of pixels to be turned on (ie, black) and the optional argument "num_off" is a value representing the desired number of pixels to be turned off (ie, white).
- solid
Purpose : To make the current line's definition a solid line (rather than possibly a dashed line).
Syntax : solid
- color
Purpose : To specify the desired red/green/blue color values for drawing and filling. Once a non-black color is specified, the "fill", "linefill", and "line" directives will cause a color line/fill instead of a gray-scale line/fill. If the three color values are 0, black is implied and the gray-scale actions by "fill", "linefill" and "line" are once again used.
Syntax : color red_value green_value blue_value
- text
Purpose : To draw a particular text string which has been specified via "text" with a positive value for the fifth optional numeric item - as the "text id" value - at the current location with or without increments in x or y distances. The current location is the last specified x/y location specified in the current figure being processed.
Syntax : text text_id x-dis y-dis where "text_id" is a value associated with the desired text string, x-dis is an optional horizontal offset, and y-dis is an optional vertical offset. The default values for both x-dis and y-dis are 0. (See the "text" option.)
- ftext
Purpose : To draw a particular text string at offsets from the current location as defined in the current figure file.
Syntax : ftext delta-x delta-y mag text_box rotation ?Text ...? where "delta-x" and "delta-y" are the X and Y offsets, respectively, from the current location, "mag" is the desired text magnification (see "text" option description of magnification), "text_box" is the text border/background code (see "text" option description of text box), "rotation" is the text cc-wise rotation angle (see "text" option description of rotation), "Text ..." is an up to 200-character string.
*** It is important to note that if the x-y pairs are to be *** used as data, as opposed to inches, "rfigure" MUST be *** specified (vs "figure") and specified WITHOUT the X and *** Y first and second positioning parameters.
* begin definition of a figure figure fig1 * set the desired dash pattern to 20 black * pixels/10 white pixels dash 20 10 * set the desired line weight to .2 lw .2 * want arrowhead at beginning of next line ah * begin the definition of a line by defining x-y * pairs 1 1 1 3 3 3 * want arrowhead at end of current line ah * draw current line NOW line * define circular line as current line arc 4 5 6 45 90 * draw current line NOW line * ------------------------------------ * begin definition of a new figure figure fig2 * want arrowhead at beginning of next line ah * begin the definition of a line by defining x-y * pairs 2 2 2 8 7 7 * want arrowhead at end of current line ah * draw current line NOW line * define circular line as current line arcto 0 9 0 5 5 5 2.5 * using current line, close figure and fill linefill .90 * ------------------------------------ * begin definition of a new figure figure fig3 * set the desired line weight to .2 lw .2 * begin the definition of a line by defining x-y * pairs - note, one point is implicit 6.6 6.6 ( 1 8 ) 8.6 8.6 * using current line, close figure and fill linefill .7 * begin the definition of a line by defining x-y * pair in inches 3 5 * define curved line as current line curveto 6 10 1 8 6 6 * draw current line NOW line
Example : figure 2 8.4 figfile fig1 .75
BRfiles)
(Command :pubplot) Details for the files option.
This list of files can be implicitly extended via use of the <list argument which can appear among the specified file names. If one or more of the <list-type arguments are specified, where "list" is a currently defined file name list, the file names contained in the indicated file name list(s) will be included, at their respective point(s) of encounter, in the current file list. The referenced list(s) must have been produced by the "newfiles" and/or "newfilex" argument lists associated with one or more previously executed DESL commands. Each "list" name can be up to 15 characters long. File names can also include the {...} construct. This type specification within a file name implies that the list name given between the curly brackets ( {} ), is to be used to have each of its elements substituted in turn for the { ... }, inclusively, such that an implicit lengthening of the file list is accomplished, up to the maximum number of files allowed. Any time such a {...} usage occurs, all lists mentioned must exist; i.e., must have been previously defined in the current DESL session. Only one {...} construct can be included in a file name. Including more than one such construct will result in unpredictable results.
An example of this type of file name specification is the following :
t43r{runs}.sif
Here, the list "runs" will have its elements used, in turn, in place of the {runs} substring.
| . |
(Begin modifications on 052102)
Each file name, whether it includes the {...} or not,
can be a maximum of 256 characters long.
If a file name is more than 16 characters long it
must be enclosed in question marks (?) .
(End modifications on 052102) |
Example : files run1 thru run7 <flist48
BRfinegrid)
(Command :pubplot) Details for the finegrid option.
BRflagmag)
(Command :pubplot) Details for the flagmag option.Example : flagmag 1 1.5
BRfont)
(Command :pubplot) Details for the font option.
X :
1 ... Times-Roman
2 ... Helvetica
3 ... Helvetica-Narrow
4 ... Symbol (Style code = 1 or 2 ONLY! See below.)
5 ... Courier ("Monaco") (characters "equally" spaced)
6 ... AvantGarde
7 ... Bookman
8 ... Palatino
9 ... NewCenturySchlbk
Y :
1 ... Normal
2 ... Oblique / Italic
3 ... Bold
4 ... Bold-Oblique / Bold-Italic
The default font = Times-Roman (11). After any string is drawn, the current font ALWAYS reverts back to the default font.
Example : font 63
BRfrom)
(Command :pubplot) Details for the from option.Example : from ffsif sif rep 3 ffsif
BRglwt)
(Command :pubplot) Details for the glwt option.Example : glwt .5
BRgrid)
(Command :pubplot) Details for the grid option.
BRgriddelay)
(Command :pubplot) Details for the griddelay option.Example : griddelay
BRhzero)
(Command :pubplot) Details for the hzero option.Following the line weight value can be a third item specifying the line type horizontal line to be drawn. The default line type is a solid line (type 1). The possible line types are as indicated in the "lines" documentation.
| . |
(Begin modifications on 052102)
Following the line type value can be a fourth item
specifying the horizontal line color to be drawn. The
value specified is a valid palette color number.
(End modifications on 052102) |
For a "polar" type plot the implication of "hzero" is dependent on the value of the xaxis or yaxis code specified. A summary of the actions taken for different values of "xaxis" and "yaxis" is as follows, where "NUM1" and "NUM2" are the two values which can follow "hzero" :
"xaxis" specified
heavy radial at angle = NUM1 degrees, weight factor of line is NUM2
"yaxis" specified
heavy circle at NUM1, weight factor of line is NUM2
Example : hzero 0 3
BRimpascii)
(Command :pubplot) Details for the impascii option.
There are additional text formatting control sequences which can be embedded in the ascii text file; see "import".
Example : impascii 22 .5 0.9 1.2
BRimport)
(Command :pubplot) Details for the import option.| . |
(Begin modifications on 082704) The next item is the the name of the PostScript or ascii of EPSF (Encapsulated Postscript) file which is to be imported. Only the FIRST "page" of a potentially multi-paged PostScript file should be imported; ie, there should be NO "showpage" in the imported PostScript file. Following the name of the PostScript file to import is the optional word "ascii" or "epsf", implying that the file being imported is really a regular ascii (text) file or Encapsulated Posatscript file, respectively, and should be converted to a PostScript file or properly included in the Poscript file being generated. Following this optionl argument can be one or two other optional arguments: a scale factor and a rotation angle in degrees counterclockwise If only one value is specified it is assumed to be the scale factor. Since an import is done relative to the lower left cornet of the current page the scaling and roation are also relative to that point. If an EPSF file is being imported it will always be imported in the "before" mode, whether or not the "before" argument is specified or not. Caution should be used when importing EPSF files, as is the case with regular PostScript files as well, in that if more than one file is being imported the "background" of a later import may obscure some or all of an earlier import; whatever is contained in the EPSF file will be literally overlaid on the existing drawing.
UP to 10 files can be imported.
(End modifications on 082704) |
If the file is an ascii file, it will be converted to a PostScript file before being included in the plotted PostScript file being created.
The imported image can be thought of as a transparent sheet overlaid on the current plot. For ascii text files, the text will typically be located at the upper left hand corner of the transparent sheet.
A file imported via "import" will NOT be affected by any scaling which may already be in effect.
The contents of the text fields in an "acsii" file is like that which can be contained in text associated with the "text" option; ie, all of the "dollar-sign-ass type constructs are legal. However, some of these dollar-sign-asso constructs depend on definitions of tabs, etc which should have occurred outside of the ascii file itself.
There are several additional formatting constructs which can be embedded within the ascii file itself. These formatting controls affect the interpretation and display of the ascii text itself as it is ultimately included in the plotting PostScript file being created.
The formatting controls are of the form :
backslash + one or more strings and/or numbersIn particular, the valid forms and their meanings are :
Individual strings - a string being a blank-delimited sequence of characters - will be positioned in the generated PostScript file at x-y locations as close to the original relative positions which they occupied in the ascii file as possible in order that the overall appearance of the imported ascii file(s) will very similar to their original appearance.
(1) \ verbatim
(2) \ normalWhole lines in the specified ascii file will have their starting locations positioned in the generated PostScript file at x-y locations as close to the original relative positions which they occupied in the ascii file as possible in order that the overall appearance of the imported ascii file(s) will be very similar to their original appearance. "normal" is the default state.
By default the text in the ascii file will be printed in the PostScript file in the font which is currently active. As has been mentioned previously the dollar-sign type constructs can be used locally (per string) to affect the appearance of the text. However, to affect the default font the "\ font font_value" has to be used, where "font_value" is a legitimate font number. See "font" documentation.
(3) \ font font_value
To change the default font back to what it was before the most previous "\ font font_value" was issued.(4) \ oldfont
By default the text in the ascii file will be printed in the PostScript file in the default font size. As has been mentioned previously the dollar-sign type constructs can be used locally (per string) to affect the appearance of the text. However, to affect the default font size the "\ mag mag_value" has to be used, where "mag_value" is the desired font magnification factor. Values less than 1.0 will reduce the size of the font.(5) \ mag mag_value
To change the default font size back to what it was before the most previous "\ mag mag_value" was issued.(6) \ oldmag
Following the name of the PostScript file to be imported is an optional scale factor. A value of less than 1 will cause a reduction in size of the imported image. Following the optional scale factor is an optional rotation angle at which the imported PostScript file will be drawn. This angles is in degrees and a positive angle rotates the figure counterclockwise The rotation axis is always the current plot's origin. All "(r)imports" are done BEFORE all "(r)figures".
****************** WARNING *******************If a landscaped plot is imported into a plot which is, itself, landscaped, the imported plot will, in effect, be landscaped again and appear in an upside-down portrait mode.
*****************************************************
Example : import 2 8.4 sketch.ps 1.2
BRinsideout)
(Command :pubplot) Details for the insideout option.Example : insideout
BRinteger)
(Command :pubplot) Details for the integer option.
************************************************* The "integer" option as of approximately 12/14/94 had no further meaning. Whether a value in a key or text string is displayed in some form of E, F, or G real format or is displayed in an I format is now controlled by the ability to now use the "I#" type integer format specification. *************************************************
Example : integer on
BRkey)
(Command :pubplot) Details for the key option.
Delayed keys must be dealt with within input to pubplot with a knowledge of HOW these keys are treated within the program. A delayed key defines a set of information which is to be plotted at some FUTURE time. Each set of information which could ultimately be included in a drawn key is created as being tied to a certain particular identification (id) number. Up to 1000 sets of delayed key information can be defined in one pubplot session. Delayed key information is saved on a scratch file and is referenced by its id number. Delayed key information sets are stored in the order that they are encountered.
There is nothing to prevent duplicate delayed key id numbers from being defined. This situation could easily arise when using the "loop"/"endloop" construct. Delayed key id numbers are always stored, for reference purposes, as the absolute value of the actual number specified. Therefore, when a delayed key information set is being DEFINED, it does not matter what sign the delayed key id number is; it will be stored as a positive number. However, when a key is to be DRAWN including one or more delayed keys, the sign of each delayed key information set is important. The absolute magnitude of the specified id numbers will be used for attempts at matches with previously-defin delayed key information sets.
The SIGN of each of the specified delayed key id numbers controls the DIRECTION of the search on the scratch file for a delayed key id match. Since delayed keys are stored IN THE ORDER THEY ARE ENCOUNTERED - ie, in chronological order, it is important to make sure that the search for delayed key id matches is conducted in the proper direction. A positive delayed key id number implies a FORWARD chronological search and a negative number implies a backward chronological search.
The next several items are numeric and are key-code dependent. If the key is to be delayed or should be drawn at the current time and include one or more delayed keys, then these items MUST be present. After these key-delay values, the actual desired key variables, whose values (or their string counterparts from a substitution file) are to be included in the column(s) of the key, must be specified. Key column headings are the same as these variable names unless they are translated via the use of a label file. A key can have up to 10 columns and 20 rows BEFORE recombination with delayed keys, and up to 20 columns and 30 rows AFTER recombination with delayed keys.
Color and line type attributes associated with a delayed key are actually assigned at the time when a delayed key is drawn; ie, when it is combined with other keys. The user has the ability to redefine both line patterns per line types and the color palette. If either or both of these are redefined between the time when a key is delayed and the time when a delayed key is drawn the key may not reflect the originally-speci respective attribute(s).
If an "unset" key variable is not found on the SIF file, the string *NF* will show up in the key in place of a value. Also, if "notify" is on, the user will be notified of the fact that the variable was not found.
Following each variable name a real (F, G, or E) or integer (I) format specification can be included. This format will override the default format of g10.3 for the particular variable it follows.
Following this optional real format specification the values which would have been established from SIF file data extraction for a particular key variable or strings which could have been defined via a substitution file can be defined.
If the word "set", followed by one or more values, is encountered the values assigned to the respective variable will be those following the "set" and will be, from that point on, treated as if they had come from the SIF file(s), whether or not the variable was found on the SIF file(s).
If a position in a list of "set" arguments needs to be skipped (ie, NOT explicitly set to a value) then the string "empty" can be used to effectively skip key entries which are NOT being reset.
If the word "setk" is encountered it must be followed by a number indicating how many key rows worth of values or strings are being set. Then, following that number, a sequence of the values and/or up-to-64-charact strings which are to be assigned to the named key variable should be specified.
If a value is specified in the sequence of values and/or strings, that value is assigned to the respective variable and will be, from that point on, treated as if it had come the SIF file, whether or not the variable was actually on the SIF file.
If a string is specified in the sequence of values and/or strings, that string is assigned to the respective variable and will be, from that point on, treated as if it had been defined as a result of a translation via the use of a substitution file. A string specified in a list of "setk" values/strings can be up to 64 characters long. If the string is to contain embedded blanks or be longer than 16 characters the question mark delimiters MUST be used.
If a position in a list of "setk" arguments needs to be skipped (ie, NOT explicitly set to a value or string) then the string "empty" can be used to effectively skip key entries which are NOT being reset.
In general, the syntax for the "key" argument list is the following :
where,kcode x y (#1 (#2->#11)) { name (fmt)(set V#1 --> V#N) }1 ... { }10 -or- kcode x y (#1 (#2->#11)) { name (fmt)(setk snum V#1/Str#1 --> V#snum/Str#snum ) }1 ... { }10
In reference to the key argument list general
syntax shown above,
the definition of the kcode parameters
are the following :
kcode = a 5-digit code : VWXYZ, where
each of the single digits V, W, X, Y, and Z
is defined as follows :
****************
The FIRST key in the list of keys to
STACK determines the number of COLUMNS in
the recombined key.
****************
. white box frame shadow
. behind around behind
. 0 ... no ......... no ...... no
. 1 ... no ......... yes ..... no
. 2 ... yes ........ no ...... no
. 3 ... yes ........ yes ..... no
. 4 ... yes ........ yes ..... yes
If all key column headings are blank the
vertical space allowed for key headings
will be eliminated.
Key DELAY INFORMATION as a f(W,Y) (see above) :
W=0, Y=0 : (key NOT being delayed or recombined)
W=0, Y=1 : #1 = id value of THIS key; this key to be delayed
W=1, Y=2 : #1 = number of delayed keys to MERGE
. #2->#n = the key id values to MERGE; CURRENT
. key's id value = 0
W=2, Y=2 : #1 = number of delayed keys to STACK
. #2->#n = the key id values to STACK; CURRENT
. key's id value = 0
An schematic example of a drawn key follows :
-------------------------------------------
| hdr1 hdr2 hdrN |
| |
| (symb1) (line1) ### ### ### |
| (symb2) (line2) str str |
| (symb3) (line3) ### str ### |
| . |
| . ... |
| . |
| (symbM) (lineM) ### ### ### |
-------------------------------------------
where ...
hdr : either (1) a SIF variable name or (2) the
corresponding translation from the use of a specified
"label" file, or (3) a blank, having been specified
by ? ?. If all key column headings are blank the
vertical space allowed for key headings will be eliminated.
symb : optionally, the desired curve's symbol type
line : optionally, the desired curve's line style
### : a value from the SIF OR a "set"/"setk"-ind
hardwired value
str : is a string which has been substituted for a value
via the use of a substitution file or has been
"setk"-induced
****************************************
The FIRST key in the list of keys to
MERGE determines the number of ROWS in the
recombined key.
****************************************