home *** CD-ROM | disk | FTP | other *** search
/ The UNIX CD Bookshelf / OREILLY_TUCB_UNIX_CD.iso / upt / examples / SOURCES / IPL / PART03.Z / PART03
Encoding:
Text File  |  1998-07-24  |  31.2 KB  |  697 lines

  1. Subject:  v21i034:  2D graphic system with table beautifier, Part03/14
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4. X-Checksum-Snefru: 2ec2196d 166038a8 eb7fbdbe daff6827
  5.  
  6. Submitted-by: Steve Grubb <uunet!lsr-vax!scg>
  7. Posting-number: Volume 21, Issue 34
  8. Archive-name: ipl/part03
  9.  
  10. # ipl part03
  11. #    This is a shell archive.
  12. #    Remove everything above and including the cut line.
  13. #    Then run the rest of the file through sh.
  14. #---------------------- cut here -----------------------------
  15. #!/bin/sh
  16. # shar:    Shell Archiver
  17. #    Run the following text with /bin/sh to create:
  18. #        tplates/Areadef
  19. #        tplates/Arrow
  20. #        tplates/Bargraph
  21. #        tplates/Boxplot
  22. #        tplates/Distribution
  23. #        tplates/Draw
  24. #        tplates/Errorbars
  25. cat << SHAR_EOF > tplates/Areadef
  26. ============
  27. Proc Areadef   
  28. ============
  29.  
  30. The following is an alphabetical list of the Areadef parameters.
  31. Given are: the parameter name; the parameter data type; a default
  32. value if any; and a description.  Especially important parameters
  33. have a "**" in the right margin.
  34.  
  35. ---------------------------------------------------------------------
  36. Area:        token                : standard      **
  37.   Preset graphics area name (see area.coords)
  38. ---------------------------------------------------------------------
  39. Area.bottom:    0 to 12                :         
  40. Area.left:    0 to 12                :         
  41. Area.right:    0 to 12             :         
  42. Area.top:    0 to 12                :         
  43.   Alternate way of specifying graphic area (all four must be
  44.   specified).  Used most often when cloning.
  45. ---------------------------------------------------------------------
  46. Area.rectangle:    2coordpair            :          **
  47.   Alternate way of specifying graphic area.  Consists of two 
  48.   coord-pairs (low left, up right) to form a rectangle
  49. ---------------------------------------------------------------------
  50. Area.file:    token                :         
  51.   File containing preset user defined areas, in case you want
  52.   to set up your own file of preset area.
  53. ---------------------------------------------------------------------
  54. Font:        font                :            
  55.   Font to be used on axis labels etc.
  56. ---------------------------------------------------------------------
  57. Frame:        {single,double,none}        : none        
  58.   Specifies a frame of graphic area 
  59. ---------------------------------------------------------------------
  60. Shade:        color                :         
  61.   Shade of graphic area.  While usually white, graphic area
  62.   is sometimes also shaded light gray.
  63. ---------------------------------------------------------------------
  64. Subtitle:    text                :           **
  65.   Title for the graphic area.  Note that this is not the page title
  66. (see Proc Page).
  67. ---------------------------------------------------------------------
  68. Subtitle.above:    -12 to 12 (T)            : 0.02        
  69.   Distance of 1st subtitle line above window top in inches.
  70. ---------------------------------------------------------------------
  71. Subtitle.font:    font                :         
  72.   Font for area title.
  73. ---------------------------------------------------------------------
  74. Subtitle.justify: {center,left,right}        : left        
  75.   Causes subtitle to be centered, or left or right justified.
  76. ---------------------------------------------------------------------
  77. Subtitle.size:    charsize            : 10        
  78.   Char size of subtitle.
  79. ---------------------------------------------------------------------
  80. Xaxis:        {bottom,top,both,none}        : bottom    
  81.   This specifies where the x axis is to be drawn.  While usually
  82.   drawn at the bottom of the graphics area, it can be drawn at
  83.   the top, or both, or not at all.
  84. ---------------------------------------------------------------------
  85. Xinc:        number                : 1          **
  86.   This is the increment between which stubs will be placed along
  87.   the X axis.  For example, a value of 5 would give: 0, 5, 10..
  88. ---------------------------------------------------------------------
  89. Xlabel.position: -12 to 12 (X)            : 0.6        
  90.   Distance of X axis identifier text from window bottom, in inches.
  91. ---------------------------------------------------------------------
  92. Xlabel.size:     charsize            : 10        
  93.   Char size for x axis identifier text.
  94. ---------------------------------------------------------------------
  95. Xlabel:        text                :           **
  96.   The actual X axis identifier text is given here.
  97. ---------------------------------------------------------------------
  98. Xmax:        number                 :           **
  99.   This gives the maximum in the X direction.  When doing bar graphs,
  100.   this should be set to at least one greater than the number of bars
  101.   you plan to draw.
  102. ---------------------------------------------------------------------
  103. Xmin:        number                 : 0           **
  104.   This gives the minimum in the X direction.  Often times it is zero.
  105. ---------------------------------------------------------------------
  106. Xscaletype:    {linear,log,yymm}        : linear    
  107.   This allows the scaling mechanism for the X direction to be
  108.   specified.  It is usually "linear", but can be "log" (logarithmic), 
  109.   or yymm (month/year).
  110. ---------------------------------------------------------------------
  111. Xstart.0or1:    0 to 10                : 0        
  112.   This is set to "1" when doing bar graphs, other times, it is "0".
  113. ---------------------------------------------------------------------
  114. Xstub:         text                : num           **
  115.    This parameter determines the text for the X axis stubs.  It may
  116.   be the text itself (one line per stub); or it may be "num" 
  117.   which turns on numeric stubs; or it may be the name of a file 
  118.   which contains stub text; or it may indicate that the stub text
  119.   should come from a field in the data.  Also available are month/
  120.   year stubs, which are invoked by using Xstub: month.
  121.    When giving text, remember to use one line per stub.
  122.   Multi-line stubs are possible using '~' to symbolize newline,
  123.   for example "Ford~Motor~Company" would occupy three lines.  It
  124.   is also possible to do irregular tic placement by prefacing
  125.   numeric stubs with a '!', which will cause the stub to be placed
  126.   at the stub value.  For example "!3" will cause the stub "3" to
  127.   be placed at X=3.  It is also OK to use blank lines, which will
  128.   cause a tic to be produced, but no stub.
  129.    Numeric stubs will be placed from Xmin to Xmax, based on Xinc.  
  130.   Precision will be based on the Xstub.ticfmt parameter, which 
  131.   defaults to no digits to the right of the decimal point.
  132.    If stubs are to come from a data field, use '@' followed by
  133.   the field number.  For example, @4 would use the 4th field in
  134.   the data for stubs.  Of course, data must already have been read
  135.   using Proc Getdata.
  136.    If using month stubs with yymm scaling, Xmin and Xmax determine
  137.   the range in months.  Otherwise, Xstub.startmonth and Xstub.startyear
  138.   must be given.
  139. ---------------------------------------------------------------------
  140. Xstub.fileline: number                : 0        
  141.   Line in a stub text file to start with.
  142. ---------------------------------------------------------------------
  143.  
  144. Xstub.grid:    {line,shade,none,wline}        : none        
  145.   This is a stylistic parameter which allows you to set up a grid of 
  146.   lines or shaded blocks.
  147. ---------------------------------------------------------------------
  148.  
  149. Xstub.minor:    0 to 100            : 0        
  150.   Create minor tics forming this many divisions between regular tics.
  151.   For example, a value of 2 will cause one minor tick between every 
  152.   major tick.
  153. ---------------------------------------------------------------------
  154.  
  155. Xstub.nolonetics: {y,n}                : y        
  156.   If y, no tics will be produced where there are no stubs. 
  157. ---------------------------------------------------------------------
  158.  
  159. Xstub.shade:    color                : 0.98        
  160.   Shade for the shaded blocks if Xstub.grid is set to "shade".
  161. ---------------------------------------------------------------------
  162.  
  163. Xstub.size:     charsize            : 7        
  164.   Char size for stubs.
  165. ---------------------------------------------------------------------
  166.  
  167. Xstub.startmonth: 1 to 12            :         
  168.   For month stubs, leftmost month.  (See Xstub).
  169. ---------------------------------------------------------------------
  170.  
  171. Xstub.startyear: 0 to 99            :         
  172.   For month stubs, leftmost year.  (See Xstub). 
  173. ---------------------------------------------------------------------
  174.  
  175. Xstub.stubs:    {bottom,top,both,none}        : bottom    
  176.   This parameter controls the placement of stubs.  While usually
  177.   placed along the bottom, they can also be placed along the top,
  178.   or both, or none at all.
  179. ---------------------------------------------------------------------
  180.  
  181. Xstub.ticlen.minor: -2 to 2 (X)            : 0.035        
  182.   Length of minor tics in inches.  Positive values cause tics to point
  183.   away from the graphic area, while negative values cause tics to point 
  184.   into the graphic area. 
  185. ---------------------------------------------------------------------
  186.  
  187. Xstub.ticlen:    -2 to 2    (X)            : 0.08        
  188.   Length of minor tics in inches.  Positive values cause tics to point
  189.   away from the graphic area, while negative values cause tics to point 
  190.   into the graphic area. 
  191. ---------------------------------------------------------------------
  192.  
  193. Xstub.tics:    {bottom,top,both,none}        : bottom    
  194.   This parameter controls the placement of tics.  While usually
  195.   placed along the bottom, they can also be placed along the top,
  196.   or both, or none at all.
  197. ---------------------------------------------------------------------
  198.  
  199. Xstub.yofs:    -2 to 2    (X)            : 0.2        
  200.   Distance of stub text from x axis in inches.  Positive values cause
  201.   stubs to be placed away from the graphics area, while negative 
  202.   values cause stubs to be placed into the graphics area.
  203. ---------------------------------------------------------------------
  204.  
  205. Xticfmt:    token                : %4.0f             **
  206.   This parameter controls the precision of numeric stubs in X, and any
  207.   other labels in X (such as lineplot labels).  It uses the convention
  208.   of the C printf(3) routines.  For example, %4.0f would give 10;
  209.   %4.1f would give 10.0; %4.2f would give 10.00, etc.
  210. ---------------------------------------------------------------------
  211. Yaxis:        {left,right,both,none}        : left        
  212.   Where to draw Y axis. (See Xaxis, above)
  213. ---------------------------------------------------------------------
  214. Yinc:        number                : 1             **
  215.   Increment in Y. (See Xinc, above)
  216. ---------------------------------------------------------------------
  217. Ylabel.position: -12 to 12 (Y)            : 0.6        
  218.   Position of Y identifying label text from Y axis.  Positive values
  219.   cause text to be placed away from graphic area; negative values 
  220.   cause it to be placed in the graphics area.
  221. ---------------------------------------------------------------------
  222. Ylabel.size:     charsize            : 10         
  223.   Size of Y label identifying text. (See Xlabel.size)
  224. ---------------------------------------------------------------------
  225. Ylabel:     text                :              **
  226.   The Y label identifying text itself.  This text is rotated 90 
  227.   degrees, and for this reason does not show up on Sunview display.
  228. ---------------------------------------------------------------------
  229. Ymax:        number                :              **
  230.   Maximum in Y.   For Vbargraph, this should be one greater than the
  231.   number of bars you plan to draw.
  232. ---------------------------------------------------------------------
  233. Ymin:        number                : 0             **
  234.   Minimum in y.
  235. ---------------------------------------------------------------------
  236. Yscaletype:    {linear,log}            : linear    
  237.   Y scaling discipline  (see Xscaletype).
  238. ---------------------------------------------------------------------
  239. Ystart.0or1:    0 to 10                : 0        
  240.   Should be set to "1" for Vbargraph; "0" otherwise.
  241. ---------------------------------------------------------------------
  242. Ystub:         text                : num              **
  243.   Stubs in Y.  (See Xstubs)  Same as Xstubs except that there are no
  244.   mont/year stubs, and there can be no multiple line stubs.  In the Y
  245.   direction, numeric stubs ("num") are by far the most often used.
  246. ---------------------------------------------------------------------
  247. Ystub.fileline:    number                : 0        
  248.   Line in a stub text file to start at (See Xstub.fileline).
  249. ---------------------------------------------------------------------
  250. Ystub.grid:    {line,shade,none,wline}        : none        
  251.   Style parameter.  (see Xstub.grid).
  252. ---------------------------------------------------------------------
  253. Ystub.minor:    0 to 100            : 0        
  254.   Make minor stubs, creating this many divisions.  (See Xstub.minor)
  255. ---------------------------------------------------------------------
  256. Ystub.nolonetics: {y,n}                : y        
  257.   If y, no tics will be produced where there are no stubs.
  258. ---------------------------------------------------------------------
  259. Ystub.shade:    color                 : 0.98        
  260.   Shade for the shaded blocks if Ystub.grid is set to "shade".
  261. ---------------------------------------------------------------------
  262. Ystub.size:     charsize            : 7        
  263.   Char size for stubs.
  264. ---------------------------------------------------------------------
  265. Ystub.stubs:     {left,right,both,none}        : left        
  266.   Produce stubs on left, right, both or niether sides (see Xstub.stubs)
  267. ---------------------------------------------------------------------
  268. Ystub.ticlen.minor: -2 to 2 (Y)            : 0.035        
  269.   Length of minor tics (See Xstub.ticlen.minor)
  270. ---------------------------------------------------------------------
  271. Ystub.ticlen:    -2 to 2    (Y)            : 0.08        
  272.   Length of major tics (See Xstub.ticlen)
  273. ---------------------------------------------------------------------
  274. Ystub.tics:    {left,right,both,none}        : left        
  275.   Which side(s) to put tics on. 
  276. ---------------------------------------------------------------------
  277. Ystub.xofs:    -2 to 2    (Y)            : 0.1        
  278.   Distance from y axis to right side of y stub.  Positive values move
  279.   away from graphics area; negative values move into graphics area.
  280. ---------------------------------------------------------------------
  281. Yticfmt:    token                : %4.0f        
  282.   Format for display of numbers in Y (See Xticfmt).
  283. ---------------------------------------------------------------------
  284. #
  285. # AREADEF DESCRIPTION
  286. #   Areadef should be used every time a new graphics area is to be set up for
  287. # plotting.  Thus, it should be called once if there is to be one plot on
  288. # the page, twice if there are to be two plots, and so on.  There can only
  289. # be one graphics area defined at any one time.  Graphics procs will do their
  290. # work inside the most recently defined graphics area.
  291. #   Areadef could be used multiple times for a single plot, for example,
  292. # if two units (e.g. feet and meters) are being used simultaneously.  
  293. #   It will set scaling, draw axes, tics (the notches on the axes),
  294. # stubs (the number or identifier next to each tic), axis labels (the text
  295. # description of what quantity each axis is describing) and subtitles.
  296. # As a minimum, the user should specify Xmax and Ymax for scaling the area, and
  297. # Xinc and Yinc.  Xmin and Ymin default to 0 which is usually, but not always,
  298. # appropriate.
  299. #
  300. # CLONING
  301. #   The Saveas and Clone parameters can be used to let subsequent Areadefs
  302. # inherit parameters from a previous Areadef.  This saves typing.
  303. #
  304. # GRAPHICS AREA
  305. # Use a pre-defined graphics area from the area.coords table, or specify your
  306. # own coordinates. 
  307. #
  308. #
  309. # STUBS
  310. #
  311. # NUMBERED STUBS        Ystub: num
  312. #   Stubs can be specified in several ways.  The simplest is plain numbering,
  313. # which will take effect when num is specified.  For example, if Ystub is set
  314. # to num (the default), numbered tics from Ymin to Ymax, every Yinc units,
  315. # will be created.  This is used for the Y axis in bar graphs and line plots,
  316. # and for both axes in scatter distributions.
  317. #
  318. # STUBS FROM THE DATA        Xstub: @1
  319. #   A field from the data can become stubs, by specifying a field number 
  320. # preceded by @'.  For example, if field 1 in the data contains identifiers, 
  321. # specifying an Xstub of @1 will cause the contents of that field
  322. # to be used in order.  This is especially useful for the X axis in bar graphs.
  323. #      
  324. # STUBS SPECIEFIED LITERALLY    Xstub:    Case 1
  325. #                    Case 2
  326. #                    Case 3
  327. #   Stubs can be specified right in the parameter file, one line per stub.
  328. # Each token is placed on a new line. 
  329. #
  330. # STUBS CONTAINED IN AN EXTERNAL FILE    Ystub: Snellen.stubs
  331. #   Stubs can come from an external file, in which case just the file name
  332. # is given.  As above, each token is placed on a new line.  Xstub.startline
  333. # can be used to start in the middle of the file.
  334. #
  335. # MONTH AND YEAR STUBS            Xstub:    month
  336. #   Month and year stubs can be placed automatically.  Use Xstub.startyear
  337. # and Xstub.startmonth to set the starting month/year.  Years are expressed
  338. # in two digits, e.g. 89, and months are specified by integer (1 through 12 ).
  339. # Available for X axis only.
  340. #
  341. # MPS VISIT STUBS            Xstub: mps
  342. #   This provides the frequently used month sequence used in MPS follow-up
  343. # visits (0,3,6,12,18,24..).  Use Xinc: 3, and Xstub.tics: none.  X axis only.
  344. #
  345. # COMS VISIT STUBS            Xstub: coms
  346. #   This provides the month sequence used in COMS follow-up visits.  It is
  347. # (0,6,12,18,24..).  Available for X axis only.
  348. #
  349. #
  350. # START ON 0 OR 1?
  351. #   With bar graphs, you want the first x stub to happen one unit past the
  352. # origin, while with line plots and scatter distributions it should generally 
  353. # happen at the origin.  Use Xstub.0or1 to get that right.
  354. #
  355. #
  356. # AXES LABELS AND SUBTITLE
  357. #   Axes labels (Xlabel and Ylabel) can be multi-line.  The location paramter
  358. # determines where the *first* line will go.  The subtitle can be multi-line
  359. # and be centered, left, or right justified.
  360. #
  361. #
  362. # AXES CAN BE TURNED OFF
  363. #   Axes can be drawn on one side, both sides, or not at all.  Similiarly,
  364. # tics and stubs can be on either side, both sides, or not at all.
  365.  
  366. SHAR_EOF
  367. ############################
  368.  
  369. cat << SHAR_EOF > tplates/Arrow
  370. ==========
  371. Proc Arrow
  372. ==========
  373.  
  374. The following is an alphabetical list of the Arrow parameters.
  375. Given are: the parameter name; the parameter data type; a default
  376. value if any; and a description.  Especially important parameters
  377. have a "**" in the right margin.
  378.  
  379. --------------------------------------------------------------
  380. Clone:        token                :    
  381.   Used to clone a previous Proc Arrow.
  382. --------------------------------------------------------------
  383. Points:     2coordpair            :    
  384.   Arrow will be drawn between these two points. x1, y1, x2, y2.  
  385.   Arrowhead will be at (x2, y2).  Absolute coordinates.
  386. --------------------------------------------------------------
  387. Saveas:        token                :    
  388.   Used to save parameters for later cloning.
  389. --------------------------------------------------------------
  390. # Draws one arrow connecting the two points.  Points in absolute 
  391. # coordinates.
  392. SHAR_EOF
  393. ############################
  394.  
  395. cat << SHAR_EOF > tplates/Bargraph
  396. =============
  397. Proc Bargraph                
  398. =============
  399.  
  400. The following is an alphabetical list of the Bargraph parameters.
  401. Given are: the parameter name; the parameter data type; a default
  402. value if any; and a description.  Especially important parameters
  403. have a "**" in the right margin.
  404.  
  405. -----------------------------------------------------------------------
  406. Field:    dfield (list8) (M)    :                      **
  407.   Field in the data to be used for making the bars.  For single bars,
  408.   one field should be specified; for stacked or clustered bars, one
  409.   field for each part of the stack (or each sub-bar in a cluster)
  410.   should be given.
  411. -----------------------------------------------------------------------
  412. Format:    {single,cluster,stack}    : single    
  413.   Determines if we are doing single bars, clusters of bars, or bars 
  414.   stacked up.
  415. -----------------------------------------------------------------------
  416. Idfield:    dfield (list8)    :         
  417.   Bars can be labeled from this field in the data.  If doing stacked
  418.   or clustered bars, multiple fields should be used.
  419. -----------------------------------------------------------------------
  420. Idfield.position: -1 to 1    : 0.02        
  421.   When bars are being labeled, this determines the distance of label 
  422.   above (or below if negative) top of bar (inches).
  423. -----------------------------------------------------------------------
  424. Idfield.size:     charsize    : 6        
  425.   Char size of bar labels.
  426. -----------------------------------------------------------------------
  427. Killwild:    number        :         
  428.   This is used to automatically terminate a bargraph when a data value 
  429.   exceeds this number.  This is desirable, say, for percentage 
  430.   distributions when N gets too low.
  431. -----------------------------------------------------------------------
  432. Outlinebars:    {y,n}        : y        
  433.   If y, surround each bar with a line.
  434. -----------------------------------------------------------------------
  435. Segment:    {y,n}        : n        
  436.   This is a stylistic parameter which segments bars at axis tics with
  437.   white lines.  You probably won't want to use it.
  438. -----------------------------------------------------------------------
  439. Separation:    -2 to 2        : 0.20        
  440.   This parameter specifies the amount of separation between bars (not
  441.   sub-bars in a cluster, though).
  442. -----------------------------------------------------------------------
  443. Separation.sub: -2 to 2        : 0.03        
  444.   This parameter specifies the amount of separation between sub-bars 
  445.   in a cluster.
  446. -----------------------------------------------------------------------
  447. Shade:         color (list8)    : .2 .5 .8 1 0               **
  448.   This specifies the shading for the bars. For stacked or clustered
  449.   bars, several values should be given.  The defaults work well.
  450. -----------------------------------------------------------------------
  451. Xstart.0or1:    {0,1}        : 1        
  452.   Usually, bars look best when the first on is placed at X=1.  However,
  453.   it is possible to start them at X=0.
  454. -----------------------------------------------------------------------
  455. Xfield:        dfield        :        
  456.   X position of bars can be determined by this data field.  Usually,
  457.   they are done ordinally, that is with the first at X=1, the second
  458.   at X=2, and so on, in which case Xfield does not have to be supplied.  
  459. -----------------------------------------------------------------------
  460. Zeroat:        number        :         
  461.   This allows formation of a "zero line" at some point other than Y=0.
  462.   Bars point up when above the zero line, and down at values less than 
  463.   the zero line.
  464. -----------------------------------------------------------------------
  465. #
  466. #   Bargraph - for producing single, clustered or stacked bar graphs.
  467. # Format parameter can be used to select which one.  If clustered or stacked
  468. # format is being done, data for each sub-bar must come from a different
  469. # field.  The Field parameter should contain the field or fields in the
  470. # order that they are to appear, from left to right. Each line of data 
  471. # produces one major bar (a bar or set of sub-bars).
  472. #
  473. #   Unless Xfield is specified, bars will be drawn starting at the left
  474. # and moving to the right, one per data unit.  For example, if the X axis
  475. # is scaled from 0 to 10, 9 bars will be produced at X=1 through X=9, assuming
  476. # there are 9 or more lines of data.  Xstart.0or1 can be set to 0 to have
  477. # the bars start at 0 instead of 1.
  478. #
  479. #   If Xfield is specified, that field will be used as the X location of
  480. # the center of the bar or sub-bars.
  481. #
  482. #   The Killwild parameter can be used to abort the bar graph if any values
  483. # exceed it.
  484. #
  485. #   The Zeroat parameter can be used to determine a point in Y at which
  486. # becomes the effective origin for the bars, meaning that any values less than
  487. # the Zeroat value will produce downward bars.
  488. #
  489. #   Bars can be outlined (using Outlinebars), shaded (using Shade), or labeled
  490. # (using Idfield).  Shading and labeling require one value for each sub-bar,
  491. # if doing clustered or stacked bars.  Labeling is done by specifying field(s)
  492. # from the data.
  493. #
  494. #   Note that the Percents option can be set in Proc Getdata to transform your
  495. # data into percentages for percentage distributions. 
  496. #
  497. #   Bugs: It should be possible to specify bar labels literally.
  498. SHAR_EOF
  499. ############################
  500.  
  501. cat << SHAR_EOF > tplates/Boxplot
  502. ============
  503. Proc Boxplot
  504. ============
  505.  
  506. The following is an alphabetical list of the Boxplot parameters.
  507. Given are: the parameter name; the parameter data type; a default
  508. value if any; and a description.  Especially important parameters
  509. have a "**" in the right margin.
  510.  
  511. -------------------------------------------------------------------
  512. Datarow:    number              : 1        
  513.   The row in the# data that contains the required 6 values.
  514. -------------------------------------------------------------------
  515. Ends:        {y,n}                : y        
  516.   Draws little cross-bars on the ends.
  517. -------------------------------------------------------------------
  518. Fields:        dfield (list6) (M)        :         
  519.   The 6 data fields (see below).
  520. -------------------------------------------------------------------
  521. Label.size:    charsize            : 7        
  522.   Size of N label in points.
  523. -------------------------------------------------------------------
  524. Linethick:    0 to 5                : 1        
  525.   Thickness of boxplot line.
  526. -------------------------------------------------------------------
  527. Printn:        {y,n}                : y        
  528.   Prints an N=... string at the bottom.
  529. -------------------------------------------------------------------
  530. Width:        number                : 0.5        
  531.   Width of box, in data units.
  532. -------------------------------------------------------------------
  533. Xloc:        number                : 0.5        
  534.   Where box will be centered in x, in data units.
  535. -------------------------------------------------------------------
  536. #
  537. # Produces the Tukey box distribution representations.  Six data fields 
  538. # must be specified, holding the values for N, the 5th percentile, the 
  539. # 25th percentile, the 50th percentile, the 75th percentile, and the 
  540. # 95th percentile, respectively.  These must be computed beforehand.  
  541. # See also Proc Rangebar, which supercedes Boxplot.
  542.  
  543.  
  544. SHAR_EOF
  545. ############################
  546.  
  547. cat << SHAR_EOF > tplates/Distribution
  548. =================
  549. Proc Distribution        
  550. =================
  551.  
  552. The following is an alphabetical list of the Distribution parameters.
  553. Given are: the parameter name; the parameter data type; a default
  554. value if any; and a description.  Especially important parameters
  555. have a "**" in the right margin.
  556.  
  557. ---------------------------------------------------------------------------
  558. Axdist:        {y,n}                : n        
  559.   This parameter turns on axes distributions for scatterplots.  Axes
  560.   distributions are little bar distributions on each of the axes.
  561. ---------------------------------------------------------------------------
  562. Axdist.length:     -2 to 2                : 0.08        
  563.   If Axdist is turned on, this sets length of the little bars. 
  564. ---------------------------------------------------------------------------
  565. Cluster:    {y,n}                : y            **
  566.   If y, overlapping points are slightly offset to show duplicity.
  567. ---------------------------------------------------------------------------
  568. Idfield:    dfield                :        
  569.   Each dot can be identified with a label from the data.  This gives 
  570.   the field.
  571. ---------------------------------------------------------------------------
  572. Mark:        token                : sym6e        
  573.   Symbol code (symNS) or character(s) for dots.
  574. ---------------------------------------------------------------------------
  575. Mark.field:    dfield                 :         
  576.   If specified, mark is contents of this field.  This is a handy way to
  577.   show multi-variate distributions.
  578. ---------------------------------------------------------------------------
  579. Mark.font:    font                  :         
  580.   Font for points, if using characters.
  581. ---------------------------------------------------------------------------
  582. Mark.size:    charsize            : 6        
  583.   Size (in points) for dots.
  584. ---------------------------------------------------------------------------
  585. Shadefield:    dfield                 :        
  586.   It is possible to display an additional variable as dot color.  To do
  587.   this, specify the data field number here, and specify a scaling factor in
  588.   Shadescale.
  589. ---------------------------------------------------------------------------
  590. Shadescale:    number                :        
  591.   Factor for scaling data to acceptable shade range (0..1).
  592. ---------------------------------------------------------------------------
  593. Sizefield:    dfield                 :        
  594.   It is possible to display an additional variable as dot diameter.  To do
  595.   this, specify the data field number here, and specify a scaling factor in
  596.   Sizescale.
  597. ---------------------------------------------------------------------------
  598. Sizescale:    number                : 1        
  599.   Factor for scaling data to acceptable size (4..20).
  600. ---------------------------------------------------------------------------
  601. Xfield:        dfield (M)            :                 **
  602.   X data comes from this field. 
  603. ---------------------------------------------------------------------------
  604. Yfield:        dfield                :                 **
  605.   Y data field.  If Yfield ommitted, a bar distribution is done.
  606. ---------------------------------------------------------------------------
  607. #
  608. #   Produces either scatter plots (2-way) or bar distributions (1-way).
  609. # For scatter plots, Xfield and Yfield must be specified.  For bar distributions,
  610. # only Xfield needs to be specified.  If Axdist is set to y, little bar
  611. # distributions will be put on each axis along with the scatter plot.
  612. # Idfield can be used to print identifiers from the data as the scatter points.
  613. #   The size, color, position, and dot marker can all be controlled from
  614. # various data fields, allowing a number of multi-variate views.
  615. SHAR_EOF
  616. ############################
  617.  
  618. cat << SHAR_EOF > tplates/Draw
  619. =========
  620. Proc Draw
  621. =========
  622.  
  623. The following is an alphabetical list of the Draw parameters.
  624. Given are: the parameter name; the parameter data type; a default
  625. value if any; and a description.  Especially important parameters
  626. have a "**" in the right margin.
  627.  
  628. ----------------------------------------------------------------------
  629. Linetype:    0 to 8                : 0        
  630.   Line dash pattern
  631. ----------------------------------------------------------------------
  632. Linetype.magnify: 0.1 to 10            : 1        
  633.   Magnification of patterns
  634. ----------------------------------------------------------------------
  635. Linethick:    0.1 to 10            : 1        
  636.   Thickness of line
  637. ----------------------------------------------------------------------
  638. Points:        text (M) (C)            :           **    
  639.   Coord pairs, 2 per line (move+draw) or 1 per line (draw)
  640. ----------------------------------------------------------------------
  641. System:        {data,absolute}            : absolute       **
  642.   Which coord system points are in
  643. ----------------------------------------------------------------------
  644. #
  645. # Draws a line or lines of the specified type and thickness.  Points 
  646. # should be specified as coordinate pairs.  Either on or two pairs 
  647. # should be used per line.  If two pairs are used, the point described 
  648. # by the first pair will be moved to, and a connecting line will be 
  649. # drawn to the point described by the other pair.  If one pair is given,
  650. # a line will be continued from the previous point to the point 
  651. # described by the pair. 
  652. SHAR_EOF
  653. ############################
  654.  
  655. cat << SHAR_EOF > tplates/Errorbars
  656. ==============
  657. Proc Errorbars
  658. ==============
  659.  
  660. The following is an alphabetical list of the Errorbars parameters.
  661. Given are: the parameter name; the parameter data type; a default
  662. value if any; and a description.  Especially important parameters
  663. have a "**" in the right margin.
  664.  
  665. -----------------------------------------------------------------
  666. Double:        {y,n}                : y        
  667. : display 2 times the error amount?
  668. -----------------------------------------------------------------
  669. Errfield:    dfield (M)            :        
  670. : field containing error amount in y
  671. -----------------------------------------------------------------
  672. Linethick:    0 to 10                : 0.3        
  673. : line thickness for error bars
  674. -----------------------------------------------------------------
  675. Offset:        -1 to 1                : 0        
  676. : amount of offset in X, in inches
  677. -----------------------------------------------------------------
  678. Taillen:    0 to 1                : 0.04        
  679. : width of tails at the end of the bars
  680. -----------------------------------------------------------------
  681. Xfield:        dfield (M)            :        
  682. : field containing point x location
  683. -----------------------------------------------------------------
  684. Yfield:        dfield (M)            :        
  685. : field containing point y location
  686. -----------------------------------------------------------------
  687. #
  688. #  Errorbars produces bars around a point, given the (x,y) location 
  689. # of a point, as well as the error amount.  These come from the data,
  690. # in fields specified in the parameters Xfield, Yfield, and Errfieldm
  691. # respectively.  Offset can be used if multiple curves are close
  692. # together.
  693. SHAR_EOF
  694. ############################
  695.  
  696.  
  697.