home *** CD-ROM | disk | FTP | other *** search
- Subject: v21i035: 2D graphic system with table beautifier, Part04/14
- Newsgroups: comp.sources.unix
- Approved: rsalz@uunet.UU.NET
- X-Checksum-Snefru: a2be2a1d 17a1c33e cb01e096 8d5490f7
-
- Submitted-by: Steve Grubb <uunet!lsr-vax!scg>
- Posting-number: Volume 21, Issue 35
- Archive-name: ipl/part04
-
- # ipl part04
- # This is a shell archive.
- # Remove everything above and including the cut line.
- # Then run the rest of the file through sh.
- #---------------------- cut here -----------------------------
- #!/bin/sh
- # shar: Shell Archiver
- # Run the following text with /bin/sh to create:
- # tplates/Getdata
- # tplates/Legend
- # tplates/Lineplot
- # tplates/Map
- # tplates/Nicetab
- # tplates/Page
- # tplates/Pagebreak
- # tplates/Pie
- # tplates/Point
- # tplates/Polygon
- # tplates/QuitAppend
- # tplates/Rangebar
- # tplates/Text
- # tplates/Vbargraph
- # tplates/Vector
- # tplates/Vrangebar
- cat << SHAR_EOF > tplates/Getdata
- ============
- Proc Getdata
- ============
-
- The following is an alphabetical list of the Getdata parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -------------------------------------------------------------------
- Append: {y,n} : n
- Allows new data will be put "below" existing data.
- -------------------------------------------------------------------
- Datafile: token (M) : **
- Data file name
- -------------------------------------------------------------------
- Data: text : **
- The following lines contain data.
- -------------------------------------------------------------------
- Join: {y,n} : n
- Allows new data to be put "beside" existing data.
- -------------------------------------------------------------------
- Percents: dfield (list20) :
- Convert the specified fields from N to percentages of column
- total.
- -------------------------------------------------------------------
- Selectfields: token (list20) : all
- Select only these fields from input.
- -------------------------------------------------------------------
- Startline: number : 1
- This allows only a portion of the rows of data in a file to be
- read into IPL. This specifies the line to start with (first line
- is line 1). See also Stopline.
- -------------------------------------------------------------------
- Stopline: number : 9999
- Stop reading after this line is read. (See Startline)
- -------------------------------------------------------------------
- #
- # This Proc must be used before doing any plotting. Data can be
- # read from a file (Datafile) or contained within the Data
- # parameter. A few data manipulation functions are included,
- # but the intent is for most of this kind of thing to be done
- # using Unix utilites.
- #
- # BUGS: It would be nice to be able to do percents based on the
- # row total.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Legend
- ===========
- Proc Legend
- ===========
-
- The following is an alphabetical list of the Legend parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- ------------------------------------------------------------------
- Backshade: color :
- This allows a shade (usually white or light gray) to be
- specified for the legend background.
- ------------------------------------------------------------------
- Corner: {A,B,C,D} : A
- Allows placement of legend assembly in one of the corners of
- the graphic area. A is upper-left, B upper-right, C lower-right,
- and D lower-left. Legend can also be placed using Location
- parameter.
- ------------------------------------------------------------------
- Entry: text (M) : **
- Text for legend entries, one per line
- ------------------------------------------------------------------
- Entry.size: charsize : 7
- Char size for legend entries
- ------------------------------------------------------------------
- Entry.font: font :
- Font for legend entries.
- ------------------------------------------------------------------
- Linetype: number (list10) :
- Line dash type. One should be specified for each legend entry.
- ------------------------------------------------------------------
- Linetype.magnify: number (list10) : 3 3 3 3 3 3 3 3 3 3
- Mag. factor for dash pattern. One should be specified for each
- legend entry.
- ------------------------------------------------------------------
- Linethick: number (list10) : 1 1 1 1 1 1 1 1 1 1
- Thickness of line. One should be specified for each legend
- entry.
- ------------------------------------------------------------------
- Mark: list (list10) :
- Marks for legend entries (symNS or chars). One should be
- specified for each legend entry.
- ------------------------------------------------------------------
- Mark.font: font (list10) :
- Font(s) for marks. One should be specified for each legend
- entry, if they are to be different. Otherwise, just one can
- be specified.
- ------------------------------------------------------------------
- Mark.size: charsize : 7
- Size for marks in points.
- ------------------------------------------------------------------
- Location: coordpair :
- Location for upperleft of legend. Can be in either absolute
- or data units (see Location.system).
- ------------------------------------------------------------------
- Location.system: {absolute,data} : absolute
- Specifies which coordinate system should be used for Location.
- ------------------------------------------------------------------
- Outlinebars: {y,n} : n
- To save a set of parms for cloning
- ------------------------------------------------------------------
- Shade: color (list10) :
- If doing a legend for some type of bar graph, each entry should
- have a shading value given here.
- ------------------------------------------------------------------
- Title: text :
- Legend title text, which will be centered over the legend.
- ------------------------------------------------------------------
- Title.size: charsize : 10
- Char size for legend title.
- ------------------------------------------------------------------
- #
- # Produces a legend. For lineplots, lines are usually shown, and
- # parameters such as Linetype should be specified. For bargraphs,
- # little shaded squares are shown, and Shade should be specified.
- # For 2-way distributions, marks are usually shown, and Mark
- # should be specified. Mark and Linetype can be combined. Shaded
- # squares, lines, and marks can not be intermixed on different
- # lines. Currently there is a maximum of 10 entries.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Lineplot
- =============
- Proc Lineplot
- =============
-
- The following is an alphabetical list of the Lineplot parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- Accum: {y,n} : n
- Allows accumulation of yalues of y, for cumulative curves.
- ------------------------------------------------------------------
- Label: text :
- This allows one line of text to be placed at the end of
- (each) curve, for identification. Use one line of text per
- curve.
- ------------------------------------------------------------------
- Label.size: charsize : 8
- Char size for line identifier (see Label).
- ------------------------------------------------------------------
- Linetype: 0 to 8 (list8) : 0 1 2 3 4 5 6 7
- Line dash type. See the legend example for a display of
- available line types. Specify one value for each curve.
- ------------------------------------------------------------------
- Linetype.magnify: 0 to 10 (list8) : 3 3 3 3 3 3 3 3
- Line dash magnification factor. Increasing this number will
- make each segment of the dash pattern longer. Specify one
- value per curve.
- ------------------------------------------------------------------
- Linethick: 0 to 10 (list8) : 1 1 1 1 1 1 1 1
- Line thickness. Increasing this value will make the line
- thicker. Specify one value per curve.
- ------------------------------------------------------------------
- Mark: list :
- It is possible to overlay point markers for each data point.
- Specify them here, one per curve.
- ------------------------------------------------------------------
- Mark.size: charsize : 7
- Size for mark chars in points.
- ------------------------------------------------------------------
- Numberfinal: {y,n} : n
- Allows the final Y value to be printed near the end of the curve.
- ------------------------------------------------------------------
- Numbers: {y,n} : n
- Allows the Y value of every data point to be displayed. For
- stairstep curves, this value is centered between X locations.
- ------------------------------------------------------------------
- Numbers.offset: -1 to 1 : 0.015
- Allows control of the numbers generated when Numbers is in
- effect. Distance of numbers (+) above or (-)below line, in
- inches.
- ------------------------------------------------------------------
- Shade: color (list8) :
- It is possible to shade the area below the curve. This will
- happen when a shade is specified here. There should be one
- shade given for each line.
- ------------------------------------------------------------------
- Stairstep: {y,n} : n
- Causes lines to form steps rather than diagonals, like square
- waves. Note: shading and marking don't work when this is on.
- ------------------------------------------------------------------
- Stairstep.bars: {y,n} : n
- This is used when superimposing a stairstep line plot over a
- bargraph. It has the effect of moving the line plot over a
- half unit.
- ------------------------------------------------------------------
- Xfield: dfield : **
- This should contain the data field containing the X component
- of the line. Note that although multiple curves can be generated,
- only one set of X components is used. This parameter can be
- omitted, causing X to default to ordinal (X=0, X=1, X=2..).
- ------------------------------------------------------------------
- Xstart.0or1: {0,1} : 0
- If X is defaulting to ordinal (see Xfield) this parameter
- adjusts the starting point (either 0 or 1).
- ------------------------------------------------------------------
- Yfield: dfield (list8) (M) : **
- This should contain the data field where the Y component can
- be found. One should be given for each curve.
- ------------------------------------------------------------------
- Zeroat: number : 0
- This allows setting the value in Y where a "zero crossing"
- takes place. See the lineplot example.
- ------------------------------------------------------------------
- #
- # Line plotting. Can do up to eight curves.
- #
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Map
- ========
- Proc Map
- ========
-
- The following is an alphabetical list of the Map parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- --------------------------------------------------------------------
- Country: {usa,usa+canada} : usa+canada
- Selects the overall format: USA only, or USA and Canada.
- --------------------------------------------------------------------
- Country.linethick: 0.1 to 5 : 1
- Thickness for country boundary lines.
- --------------------------------------------------------------------
- List: {y,n} : y
- Allows text listing of state tabulations (to the right of the map).
- --------------------------------------------------------------------
- Mode: {country,state,statedist} : state
- Selects the overall mode. For country outlines use "country";
- for country and state outlines use "state"; for shaded state
- distribution based on data, use "statedist".
- --------------------------------------------------------------------
- Shade: color (list10) : 1 .9 .8 .6 .4 .2
- When doing shaded state distribution, use this parameter to
- select shades for the breakdowns.
- --------------------------------------------------------------------
- Statefield: dfield :
- When doing shaded state distribution, this selects which field
- in the data contains the identifying state abbreviation.
- Abbreviations must be the standard Postal Service state
- abbreviations, in lower case.
- --------------------------------------------------------------------
- State.linethick: 0.1 to 5 : 0.2
- Thickness for state boundary lines.
- --------------------------------------------------------------------
- Threshold: number (list10) :
- This sets up a list of thresholds for determining shading break-
- down when doing a state distribution. They should be in increasing
- order. For example, "1 10 20 30 40 50" will set up 6 categories
- (1-9, 10-19, 20-29, 30-39, 40-49, >50) and produce states with 6
- different shades based on the value totals associated with each
- state.
- --------------------------------------------------------------------
- Valfield: dfield :
- This allows specification of a field in the data containing values
- which will be added up. If not specified, each record will add
- one to its state's total.
- --------------------------------------------------------------------
- #
- # USA maps and state distributions
- # For best results, scale the graphics area to 40x40.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Nicetab
- ============
- Proc Nicetab
- ============
-
- The following is an alphabetical list of the Nicetab parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -----------------------------------------------------------------
- Area: token :nicetab
- A pre-defined area name, (see Proc Areadef) into which the
- table will be scaled.
- -----------------------------------------------------------------
- Area.rectangle: 2coordpair :
- An alternate way of defining the area into which the table
- will be scaled, consisting of two coord pairs containing
- the lower-left and upper-right of the area rectangle.
- -----------------------------------------------------------------
- Body.only: {y,n} : n
- Indicates that no title present, process all as table body.
- -----------------------------------------------------------------
- Body.font: font :
- Font to be used for the body of the table.
- -----------------------------------------------------------------
- Body.size: token : 8
- Char size to be used for the body of the table.
- -----------------------------------------------------------------
- File: token (M) : **
- File containing the table text.
- -----------------------------------------------------------------
- Title.font: font :
- Font to be used for the title matter.
- -----------------------------------------------------------------
- Title.size: charsize : 11
- Char size to be used for the title matter.
- -----------------------------------------------------------------
- #
-
- Nicetab - Table nice-i-fier. Takes a table made of ordinary text
- (such as program output or something composed in a text editor),
- centers it, sets it up in a nice font, and allows certain special
- effects. Shaded blocks can be added for emphasis or to improve
- readability. To do this, embed some of the special operators below
- into the source table text:
- @shadeblocks-on start shading blocks of 3 lines
- @shadeblocks-off stop
- @shade-on start shading until turned off
- @shade-off turns the above off
-
-
- Nicetab uses several rules to do the conversion:
-
- [] The title, which is handled separately, should be separated from
- the table body (rest of the table) by two or more blank lines.
-
- [] A series of tokens separated by ONE space are handled as one unit
- and is called a phrase; watch out for two-space gaps (e.g. at the
- beginning of a new sentence)-- these may cause undesired results.
-
- [] The first phrase on a line is left justified; after that, numbers
- are right-justified. Character strings are left-justified, except
- in the first few lines of the table body, where they are presumed to
- be header stubs, and centered.
-
- [] Nicetab places phrases by scaling their row/column position to the
- x/y graphics area, so it will tend to expand smaller tables and
- compress larger ones. You may want to adjust title.size and body.size
- if things don't look right.
-
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Page
- =========
- Proc Page
- =========
-
- The following is an alphabetical list of the Page parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- ------------------------------------------------------------------
- Paperway: {portrait,landscape,screen} : portrait
- Selects the page orientation. Screen produces an 11x11 square.
- ------------------------------------------------------------------
- Standard.linethick: 0 to 6 : 1
- Allows setting of default line thickness for entire page.
- ------------------------------------------------------------------
- Standard.font: font : /Helvetica
- Allows setting of default font for all text on the page.
- ------------------------------------------------------------------
- Title: text : **
- The page title is specified here. It will be centered on the
- page. For subtitles, see Areadef.
- ------------------------------------------------------------------
- Title.file: token :
- The page title may be taken from this file.
- ------------------------------------------------------------------
- Title.font: font :
- Font for page title.
- ------------------------------------------------------------------
- Title.size: charsize : 12
- Char size of title.
- ------------------------------------------------------------------
- Title.belowtop: -12 to 12 (T) : 0.2
- Distance of 1st title line below top of page.
- ------------------------------------------------------------------
-
- # This sets page-wide things. It should be used before doing
- # any drawing on the page.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Pagebreak
- ==============
- Proc Pagebreak
- ==============
-
- #
- # This will force a page eject, and subsequent drawing will
- # be done on the next page. No paramters.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Pie
- ========
- Proc Pie
- ========
-
- The following is an alphabetical list of the Pie parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -----------------------------------------------------------------------
- Field: dfield (M) : : **
- Data field for numbers describing size of sections. Numbers should
- be percentages, e.g. 100 corersponds to the entire circle.
- -----------------------------------------------------------------------
- Center: coordpair : 4.0 5.5 :
- Location of center, in absolute units.
- -----------------------------------------------------------------------
- Radius: 0 to 5 : 3 :
- Radius of pie, in absolute units.
- -----------------------------------------------------------------------
- Shade: color list20 : :
- Shades of pie sections. One should be specified for each section.
- -----------------------------------------------------------------------
- Linethick: 0 to 10 : 1 :
- Thickness of section outlines.
- -----------------------------------------------------------------------
- Explode: 0 to 3 : 0.1 :
- Distance in abs units to 'explode' each piece.
- -----------------------------------------------------------------------
- Rotate: 0 to 360 : 0 :
- Rotate entire pie this many degrees counterclockwise. This is handy
- for final appearance.
- -----------------------------------------------------------------------
-
- # Produces a pie graph. Shaded and/or 'exploded' sections can be
- # done. Unlike most other types of plots, the pie graph operates
- # strictly in absolute units, so no graphics area needs to be defined.
- # Use the "Rotate" paramter to adjust the pie to the desired position.
- # There is no built-in way to label sections-- use vipl to add
- # annotations.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Point
- ==========
- Proc Point
- ==========
-
- The following is an alphabetical list of the Point parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- ----------------------------------------------------------------
- Mark: token : sym6e
- Symbol code (see example point1.g).
- ----------------------------------------------------------------
- Position: text (M) (C) :
- Position in absolute data system.
- ----------------------------------------------------------------
- Size: 1 to 20 : 5
- Marker size, in points.
- ----------------------------------------------------------------
-
- # This proc draws a single marker at the specified position. It
- # should be used for annotation only. See also Proc Distribution
- # and Proc Legend.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Polygon
- ============
- Proc Polygon
- ============
-
- The following is an alphabetical list of the Polygon parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -------------------------------------------------------------------
- Linetype: 0 to 8 : 0
- Line dash pattern for outline.
- -------------------------------------------------------------------
- Linetype.magnify: 0.1 to 10 : 1
- Magnification of patterns for outline.
- -------------------------------------------------------------------
- Linethick: 0.1 to 10 : 1
- Thickness of line for outline.
- -------------------------------------------------------------------
- Outline: {y,n} : n
- Allows outlining of polygon with a line.
- -------------------------------------------------------------------
- Points: text (M) (C) : **
- This is where the points describing the polygon boundary get
- specified. There should be one coordinate pair per line.
- -------------------------------------------------------------------
- Rectangle: 2coordpair :
- Convenient way to specify a rectangle. Give two coordinate
- pairs (on the same line), one for the lower-left and one for
- the upper-right.
- -------------------------------------------------------------------
- Shade: color : 0.5
- The shade of the polygon goes here.
- -------------------------------------------------------------------
- System: {data,absolute} : absolute
- Allows either the absolute or the data coordinate system
- to be used for specifying points.
- -------------------------------------------------------------------
- #
- # Creates a shaded rectangle or convex polygon, optionally outlined.
- # Should add Position, so that a polygon can be replicated
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/QuitAppend
- ===============
- Proc QuitAppend
- ===============
-
- # This proc will suppress the final page eject, so that additional
- # IPL runs can be run later and appended, resulting in all the
- # graphics on the same page. Should be used only when running
- # tipl and capturing the postscript output into a file. Should
- # not be used with pipl, since pipl routes postscript to the printer
- # and could overlay onto someone else's output. To print a file
- # of postscript manually, use: lpr my-postscript-file.
- # Note that all settings, such as paper position, will have to
- # be re-specified for subsequent runs.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Rangebar
- =============
- Proc Rangebar
- =============
-
- The following is an alphabetical list of the Rangebar parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -------------------------------------------------------------------
- Ends: {y,n} : y
- Style parameter allowing little cross-bars to be added on ends.
- -------------------------------------------------------------------
- Field: dfield (list5) (M) : **
- Data fields containing the values. There should be from 1 to 5
- values here, depending on the value of Nval.
- -------------------------------------------------------------------
- Idfield: dfield :
- Allows an identifying label to be produced from the data.
- Indicates the data field where this label can be found.
- -------------------------------------------------------------------
- Label.size: charsize : 6
- Char size for the identifying label.
- -------------------------------------------------------------------
- Label.position: number : 1
- Position for N=.. label in Y data units.
- -------------------------------------------------------------------
- Linethick: 0 to 5 : 1
- Thickness of outline.
- -------------------------------------------------------------------
- Midlinewidth: number : 0
- Size of median line in data units. Usually this is to be the
- as the width of the bar, but you may want it to protrude. If
- set to 0 (the default) the width will be set to that of the
- bar.
- -------------------------------------------------------------------
- Midlineright: {y,n} : n
- This allows the creation of high-low-close bars as seen in the
- stock market reports.
- -------------------------------------------------------------------
- Nval: 1 to 5 : 5 **
- This controls the type of rangebar that will be produced. See
- the rangebar example. To do boxplots, for example, use Nval: 5.
- -------------------------------------------------------------------
- Shade: color : 1.0
- Shade for inside of bar.
- -------------------------------------------------------------------
- Width: number : 0.3
- Width of box, in data units.
- -------------------------------------------------------------------
- Xfield: dfield :
- Allows placement of bars in X. This is optional-- if omitted,
- bars will be placed ordinally in X (X=1, X=2, X=3..).
- -------------------------------------------------------------------
- #
- # Produces various distribution representations in Y. Produces one
- # rangebar for every row of data. See also Boxplot.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Text
- =========
- Proc Text
- =========
-
- The following is an alphabetical list of the Text parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -----------------------------------------------------------------
- Direction: 0 to 359 : 0
- Direction of text in degrees counterclockwise. Remember that
- while it will always show in Postscript, any text not in the
- normal (0) direction will not display on Sunview.
- -----------------------------------------------------------------
- File: token :
- Text can come from a file. This specifies the file name.
- -----------------------------------------------------------------
- Embeddedcoords: {y,n} : n
- Allows each line of text to contain placement information for
- that line. This is done by prefixing the line a coordinates
- pair, and setting this option.
- -----------------------------------------------------------------
- Font: font :
- Font to use for text.
- -----------------------------------------------------------------
- Position: coordpair :
- Location of text. The first line of text will begin here.
- -----------------------------------------------------------------
- Size: charsize : 10
- Char size of text.
- -----------------------------------------------------------------
- System: {data,absolute} : absolute
- Allows Position to be specified in data or absolute coordinates.
- -----------------------------------------------------------------
- Text: text :
- The text iteself, if not coming from a file.
- -----------------------------------------------------------------
- #
- # For producing labels and blocks of text.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Vbargraph
- ==============
- Proc Vbargraph
- ==============
-
- The following is an alphabetical list of the Vbargraph parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -----------------------------------------------------------------
- Field: dfield (list8) : **
- This specifies the data field which should contain the values
- to be plotted. If doing stacked or clustered bars, one field
- for every sub-bar should be given.
- -----------------------------------------------------------------
- Format: {single,cluster,stack} : single
- Selects either single bars, clusters, or bars stacked up.
- -----------------------------------------------------------------
- Idfield: dfield (list8) :
- It is possible for an identifier to come from the data. This
- indicates the field where that identifier can be found. Again,
- if doing stacked or clustered bars, one field for every sub-bar
- should be given.
- -----------------------------------------------------------------
- Idfield.size: charsize : 6
- Char size of labels.
- -----------------------------------------------------------------
- Idfield.position: -1 to 1 : 0.02
- Distance of label above (or below) top of bar (inches).
- -----------------------------------------------------------------
- Killwild: number :
- If a data value greater than this is found, abort. Typically
- used for low N on percentage distributions.
- -----------------------------------------------------------------
- Outlinebars: {y,n} : y
- Allows bars to be outlined.
- -----------------------------------------------------------------
- Segment: {y,n} : n
- Style parameter causing bars to be segmented by white lines.
- -----------------------------------------------------------------
- Separation: 0 to 1 : 0.20
- This controls the distance between bars.
- -----------------------------------------------------------------
- Separation.sub: 0 to 1 : 0.03
- Distance between sub-bars in cluster.
- -----------------------------------------------------------------
- Shade: color (list8) : .2 .5 .8 1 0
- A shade for each bar (sub-bar).
- -----------------------------------------------------------------
- Ystart.0or1: {0,1} : 1
- Start bars at Y=0 or Y=1. Almost always, bars work better when
- started at Y=1.
- -----------------------------------------------------------------
- Yfield: dfield :
- Y position of bars (optional).
- -----------------------------------------------------------------
- Zeroat: number :
- Bars point left at values less than this (usually 0)
- -----------------------------------------------------------------
- #
- # Vbargraph - for producing single, clustered or stacked bar graphs.
- # Exactly the same as Bargraph except that bars grow from left to right.
- # Format parameter can be used to select which type of bargraph. If
- # clustered or stacked, data for each sub-bar must come from a different
- # field. The Field parameter should contain the field or fields in the
- # order that they are to appear, from left to right. Each line of data
- # produces one major bar (a bar or set of sub-bars).
- #
- # Unless Yfield is specified, bars will be drawn starting at the bottom
- # and moving to the top, one per data unit. For example, if the Y axis
- # is scaled from 0 to 10, 9 bars will be produced at Y=1 through Y=9,
- # assuming there are 9 or more lines of data. Ystart.0or1 can be set
- # to 0 to have the bars start at 0 instead of 1.
- #
- # If Yfield is specified, that field will be used as the Y location of
- # the center of the bar or sub-bars.
- #
- # The Killwild parameter can be used to abort the bar graph if any
- # values exceed it.
- #
- # The Zeroat parameter can be used to determine a point in X at which
- # becomes the effective origin for the bars, meaning that any values
- # less than the Zeroat value will produce leftward bars.
- #
- # Bars can be outlined (using Outlinebars), shaded (using Shade), or
- # labeled# (using Idfield). Shading and labeling require one value for
- # each sub-bar, if doing clustered or stacked bars. Labeling is done
- # by specifying field(s) from the data.
- #
- # Note that the Percents option can be set in Proc Getdata to transform
- # your data into percentages for percentage distributions.
- #
- # Bugs: It should be possible to specify bar labels literally.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Vector
- ===========
- Proc Vector
- ===========
-
- The following is an alphabetical list of the Vector parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- -----------------------------------------------------------------
- Point1fields: dfield (list2) (M) : **
- Two fields in the data holding the x and y components of
- the non-pointing end of the arrow.
- -----------------------------------------------------------------
- Point2fields: dfield (list2) (M) : **
- Two fields in the data holding the x and y components of
- the pointing end of the arrow.
- -----------------------------------------------------------------
- Headlength: 0 to 2 : 0.1
- Determines length of arrowhead, length in inches from point.
- -----------------------------------------------------------------
- Headwidth: 0 to 0.8 : 0.2
- Determines width of arrowhead, arc of half of arrow in radians.
- -----------------------------------------------------------------
- Headshade: color : 0.0
- Determines the color of arrowhead.
- -----------------------------------------------------------------
- #
- # Proc Vector generates a display of vectors, with or without
- $ arrow tips.
- SHAR_EOF
- ############################
-
- cat << SHAR_EOF > tplates/Vrangebar
- ==============
- Proc Vrangebar
- ==============
-
- The following is an alphabetical list of the Vrangebar parameters.
- Given are: the parameter name; the parameter data type; a default
- value if any; and a description. Especially important parameters
- have a "**" in the right margin.
-
- ----------------------------------------------------------------
- Ends: {y,n} : y
- Allows little cross-bars to be drawn on ends.
- ----------------------------------------------------------------
- Field: dfield (list5) (M) :
- Fields in the data containing values. The number is
- determined by Nval.
- ----------------------------------------------------------------
- Idfield: dfield :
- It is possible to label bars with text. Label comes
- from this field, if specified.
- ----------------------------------------------------------------
- Label.size: charsize : 6
- Size of the label in points.
- ----------------------------------------------------------------
- Label.position: number : 1
- Position for N=.. label in Y data units.
- ----------------------------------------------------------------
- Linethick: 0 to 5 : 1
- Thickness of boxplot outline.
- ----------------------------------------------------------------
- Midlinewidth: number : 0
- The median line is generally the same size as the width of
- the bar, however, by changing this parameter it can be made
- to protrude.
- ----------------------------------------------------------------
- Midlineright: {y,n} : n
- Allows median line to protrude in one direction only.
- ----------------------------------------------------------------
- Nval: 1 to 5 : 5
- Number of values making up the box. See the Vrangebar
- example.
- ----------------------------------------------------------------
- Shade: color : 1.0
- Shade for inside of bar.
- ----------------------------------------------------------------
- Width: number : 0.3
- Width of bar, in data units.
- ----------------------------------------------------------------
- Yfield: dfield :
- Allows placement of bars in Y. It is optional-- if not
- given, Y placement is done ordinally (Y=1, Y=2, Y=3..).
- ----------------------------------------------------------------
- #
- # Same as Rangebar, but sideways.
- # Produces various distribution representations in X. Produces
- # one rangebar for every row of data.
- SHAR_EOF
- ############################
-
-
-