v21i035: 2D graphic system with table beautifier, Part04/14

Rich Salz rsalz at uunet.uu.net
Sat Mar 24 06:19:23 AEST 1990


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
############################


-- 
Please send comp.sources.unix-related mail to rsalz at uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.



More information about the Comp.sources.unix mailing list