home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume21 / ipl / part04 < prev    next >
Text File  |  1990-03-22  |  37KB  |  873 lines

  1. Subject:  v21i035:  2D graphic system with table beautifier, Part04/14
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4. X-Checksum-Snefru: a2be2a1d 17a1c33e cb01e096 8d5490f7
  5.  
  6. Submitted-by: Steve Grubb <uunet!lsr-vax!scg>
  7. Posting-number: Volume 21, Issue 35
  8. Archive-name: ipl/part04
  9.  
  10. # ipl part04
  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/Getdata
  19. #        tplates/Legend
  20. #        tplates/Lineplot
  21. #        tplates/Map
  22. #        tplates/Nicetab
  23. #        tplates/Page
  24. #        tplates/Pagebreak
  25. #        tplates/Pie
  26. #        tplates/Point
  27. #        tplates/Polygon
  28. #        tplates/QuitAppend
  29. #        tplates/Rangebar
  30. #        tplates/Text
  31. #        tplates/Vbargraph
  32. #        tplates/Vector
  33. #        tplates/Vrangebar
  34. cat << SHAR_EOF > tplates/Getdata
  35. ============
  36. Proc Getdata
  37. ============
  38.  
  39. The following is an alphabetical list of the Getdata parameters.
  40. Given are: the parameter name; the parameter data type; a default
  41. value if any; and a description.  Especially important parameters
  42. have a "**" in the right margin.
  43.  
  44. -------------------------------------------------------------------
  45. Append:        {y,n}                : n        
  46.   Allows new data will be put "below" existing data.
  47. -------------------------------------------------------------------
  48. Datafile:    token (M)              :         **    
  49.   Data file name
  50. -------------------------------------------------------------------
  51. Data:        text                :        **
  52.   The following lines contain data.
  53. -------------------------------------------------------------------
  54. Join:        {y,n}                : n        
  55.   Allows new data to be put "beside" existing data.
  56. -------------------------------------------------------------------
  57. Percents:    dfield (list20)            :        
  58.   Convert the specified fields from N to percentages of column 
  59.   total.
  60. -------------------------------------------------------------------
  61. Selectfields:    token (list20)            : all        
  62.   Select only these fields from input.
  63. -------------------------------------------------------------------
  64. Startline:    number                : 1        
  65.   This allows only a portion of the rows of data in a file to be
  66.   read into IPL.  This specifies the line to start with (first line 
  67.   is line 1).  See also Stopline.
  68. -------------------------------------------------------------------
  69. Stopline:    number              : 9999        
  70.   Stop reading after this line is read.  (See Startline)
  71. -------------------------------------------------------------------
  72. #
  73. # This Proc must be used before doing any plotting.  Data can be
  74. # read from a file (Datafile) or contained within the Data 
  75. # parameter.  A few data manipulation functions are included,
  76. # but the intent is for most of this kind of thing to be done
  77. # using Unix utilites.
  78. #
  79. # BUGS: It would be nice to be able to do percents based on the
  80. #   row total.
  81. SHAR_EOF
  82. ############################
  83.  
  84. cat << SHAR_EOF > tplates/Legend
  85. ===========
  86. Proc Legend
  87. ===========
  88.  
  89. The following is an alphabetical list of the Legend parameters.
  90. Given are: the parameter name; the parameter data type; a default
  91. value if any; and a description.  Especially important parameters
  92. have a "**" in the right margin.
  93.  
  94. ------------------------------------------------------------------
  95. Backshade:    color                 :         
  96.   This allows a shade (usually white or light gray) to be 
  97.   specified for the legend background. 
  98. ------------------------------------------------------------------
  99. Corner:     {A,B,C,D}            : A        
  100.   Allows placement of legend assembly in one of the corners of
  101.   the graphic area.  A is upper-left, B upper-right, C lower-right,
  102.   and D lower-left.  Legend can also be placed using Location
  103.   parameter.
  104. ------------------------------------------------------------------
  105. Entry:        text (M)            :            **
  106.   Text for legend entries, one per line 
  107. ------------------------------------------------------------------
  108. Entry.size:    charsize            : 7        
  109.   Char size for legend entries
  110. ------------------------------------------------------------------
  111. Entry.font:    font                :         
  112.   Font for legend entries.
  113. ------------------------------------------------------------------
  114. Linetype:    number (list10)            :         
  115.   Line dash type.  One should be specified for each legend entry.
  116. ------------------------------------------------------------------
  117. Linetype.magnify: number (list10)    : 3 3 3 3 3 3 3 3 3 3   
  118.   Mag. factor for dash pattern.  One should be specified for each
  119.   legend entry.
  120. ------------------------------------------------------------------
  121. Linethick:    number (list10)        : 1 1 1 1 1 1 1 1 1 1   
  122.   Thickness of line.  One should be specified for each legend
  123.   entry.
  124. ------------------------------------------------------------------
  125. Mark:        list (list10)            :        
  126.   Marks for legend entries (symNS or chars).  One should be
  127.   specified for each legend entry.
  128. ------------------------------------------------------------------
  129. Mark.font:    font (list10)            :         
  130.   Font(s) for marks.  One should be specified for each legend
  131.   entry, if they are to be different.  Otherwise, just one can
  132.   be specified.
  133. ------------------------------------------------------------------
  134. Mark.size:    charsize            : 7        
  135.   Size for marks in points.
  136. ------------------------------------------------------------------
  137. Location:    coordpair            :        
  138.   Location for upperleft of legend.  Can be in either absolute
  139.   or data units (see Location.system).
  140. ------------------------------------------------------------------
  141. Location.system: {absolute,data}        : absolute    
  142.   Specifies which coordinate system should be used for Location.
  143. ------------------------------------------------------------------
  144. Outlinebars:    {y,n}                : n        
  145.   To save a set of parms for cloning
  146. ------------------------------------------------------------------
  147. Shade:        color (list10)            :        
  148.   If doing a legend for some type of bar graph, each entry should
  149.   have a shading value given here.
  150. ------------------------------------------------------------------
  151. Title:        text                :        
  152.   Legend title text, which will be centered over the legend.
  153. ------------------------------------------------------------------
  154. Title.size:    charsize            : 10        
  155.   Char size for legend title.
  156. ------------------------------------------------------------------
  157. #
  158. # Produces a legend.  For lineplots, lines are usually shown, and
  159. # parameters such as Linetype should be specified.  For bargraphs,
  160. # little shaded squares are shown, and Shade should be specified.
  161. # For 2-way distributions, marks are usually shown, and Mark
  162. # should be specified.  Mark and Linetype can be combined.  Shaded
  163. # squares, lines, and marks can not be intermixed on different
  164. # lines.  Currently there is a maximum of 10 entries.
  165. SHAR_EOF
  166. ############################
  167.  
  168. cat << SHAR_EOF > tplates/Lineplot
  169. =============
  170. Proc Lineplot
  171. =============
  172.  
  173. The following is an alphabetical list of the Lineplot parameters.
  174. Given are: the parameter name; the parameter data type; a default
  175. value if any; and a description.  Especially important parameters
  176. have a "**" in the right margin.
  177.  
  178. Accum:        {y,n}                : n        
  179.   Allows accumulation of yalues of y, for cumulative curves.
  180. ------------------------------------------------------------------
  181. Label:         text                :         
  182.   This allows one line of text to be placed at the end of
  183.   (each) curve, for identification.  Use one line of text per 
  184.   curve.
  185. ------------------------------------------------------------------
  186. Label.size:    charsize            : 8        
  187.   Char size for line identifier (see Label).
  188. ------------------------------------------------------------------
  189. Linetype:    0 to 8 (list8)        : 0 1 2 3 4 5 6 7    
  190.   Line dash type.  See the legend example for a display of
  191.   available line types.  Specify one value for each curve.
  192. ------------------------------------------------------------------
  193. Linetype.magnify: 0 to 10 (list8)    : 3 3 3 3 3 3 3 3     
  194.   Line dash magnification factor.  Increasing this number will 
  195.   make each segment of the dash pattern longer.  Specify one
  196.   value per curve.
  197. ------------------------------------------------------------------
  198. Linethick:    0 to 10 (list8)        : 1 1 1 1 1 1 1 1     
  199.   Line thickness.  Increasing this value will make the line
  200.   thicker.  Specify one value per curve.
  201. ------------------------------------------------------------------
  202. Mark:        list                :         
  203.   It is possible to overlay point markers for each data point.
  204.   Specify them here, one per curve. 
  205. ------------------------------------------------------------------
  206. Mark.size:    charsize            : 7    
  207.   Size for mark chars in points.
  208. ------------------------------------------------------------------
  209. Numberfinal:    {y,n}                : n        
  210.   Allows the final Y value to be printed near the end of the curve.
  211. ------------------------------------------------------------------
  212. Numbers:    {y,n}                : n        
  213.   Allows the Y value of every data point to be displayed.  For
  214.   stairstep curves, this value is centered between X locations.
  215. ------------------------------------------------------------------
  216. Numbers.offset:    -1 to 1                : 0.015        
  217.   Allows control of the numbers generated when Numbers is in 
  218.   effect.  Distance of numbers (+) above or (-)below line, in 
  219.   inches.
  220. ------------------------------------------------------------------
  221. Shade:        color (list8)            :               
  222.   It is possible to shade the area below the curve.  This will
  223.   happen when a shade is specified here.  There should be one
  224.   shade given for each line.
  225. ------------------------------------------------------------------
  226. Stairstep:    {y,n}                : n        
  227.   Causes lines to form steps rather than diagonals, like square
  228.   waves.  Note: shading and marking don't work when this is on.
  229. ------------------------------------------------------------------
  230. Stairstep.bars:    {y,n}                : n        
  231.   This is used when superimposing a stairstep line plot over a
  232.   bargraph.  It has the effect of moving the line plot over a
  233.   half unit.
  234. ------------------------------------------------------------------
  235. Xfield:        dfield                :             **
  236.   This should contain the data field containing the X component
  237.   of the line.  Note that although multiple curves can be generated,
  238.   only one set of X components is used.  This parameter can be
  239.   omitted, causing X to default to ordinal (X=0, X=1, X=2..).
  240. ------------------------------------------------------------------
  241. Xstart.0or1:    {0,1}                : 0        
  242.   If X is defaulting to ordinal (see Xfield) this parameter 
  243.   adjusts the starting point (either 0 or 1).
  244. ------------------------------------------------------------------
  245. Yfield:        dfield (list8) (M)        :         **
  246.   This should contain the data field where the Y component can
  247.   be found.  One should be given for each curve.
  248. ------------------------------------------------------------------
  249. Zeroat:        number                : 0        
  250.   This allows setting the value in Y where a "zero crossing"
  251.   takes place.  See the lineplot example.
  252. ------------------------------------------------------------------
  253. #
  254. # Line plotting.  Can do up to eight curves.
  255. #
  256. SHAR_EOF
  257. ############################
  258.  
  259. cat << SHAR_EOF > tplates/Map
  260. ========
  261. Proc Map
  262. ========
  263.  
  264. The following is an alphabetical list of the Map parameters.
  265. Given are: the parameter name; the parameter data type; a default
  266. value if any; and a description.  Especially important parameters
  267. have a "**" in the right margin.
  268.  
  269. --------------------------------------------------------------------
  270. Country:    {usa,usa+canada}        : usa+canada    
  271.   Selects the overall format: USA only, or USA and Canada.
  272. --------------------------------------------------------------------
  273. Country.linethick: 0.1 to 5            : 1        
  274.   Thickness for country boundary lines.
  275. --------------------------------------------------------------------
  276. List:        {y,n}                : y        
  277.   Allows text listing of state tabulations (to the right of the map).
  278. --------------------------------------------------------------------
  279. Mode:        {country,state,statedist}    : state        
  280.   Selects the overall mode.  For country outlines use "country";
  281.   for country and state outlines use "state"; for shaded state
  282.   distribution based on data, use "statedist".
  283. --------------------------------------------------------------------
  284. Shade:        color (list10)            : 1 .9 .8 .6 .4 .2 
  285.   When doing shaded state distribution, use this parameter to
  286.   select shades for the breakdowns.
  287. --------------------------------------------------------------------
  288. Statefield:    dfield                :        
  289.   When doing shaded state distribution, this selects which field
  290.   in the data contains the identifying state abbreviation.  
  291.   Abbreviations must be the standard Postal Service state
  292.   abbreviations, in lower case.
  293. --------------------------------------------------------------------
  294. State.linethick: 0.1 to 5            : 0.2        
  295.   Thickness for state boundary lines.
  296. --------------------------------------------------------------------
  297. Threshold:    number (list10)            :        
  298.   This sets up a list of thresholds for determining shading break-
  299.   down when doing a state distribution.  They should be in increasing
  300.   order.  For example, "1 10 20 30 40 50" will set up 6 categories
  301.   (1-9, 10-19, 20-29, 30-39, 40-49, >50) and produce states with 6 
  302.   different shades based on the value totals associated with each
  303.   state.  
  304. --------------------------------------------------------------------
  305. Valfield:    dfield                :        
  306.   This allows specification of a field in the data containing values
  307.   which will be added up.  If not specified, each record will add
  308.   one to its state's total.
  309. --------------------------------------------------------------------
  310. #
  311. # USA maps and state distributions
  312. # For best results, scale the graphics area to 40x40.
  313. SHAR_EOF
  314. ############################
  315.  
  316. cat << SHAR_EOF > tplates/Nicetab
  317. ============
  318. Proc Nicetab    
  319. ============
  320.  
  321. The following is an alphabetical list of the Nicetab parameters.
  322. Given are: the parameter name; the parameter data type; a default
  323. value if any; and a description.  Especially important parameters
  324. have a "**" in the right margin.
  325.  
  326. -----------------------------------------------------------------
  327. Area:        token                :nicetab    
  328.   A pre-defined area name, (see Proc Areadef) into which the
  329.   table will be scaled.
  330. -----------------------------------------------------------------
  331. Area.rectangle:    2coordpair            :        
  332.   An alternate way of defining the area into which the table
  333.   will be scaled, consisting of two coord pairs containing
  334.   the lower-left and upper-right of the area rectangle.
  335. -----------------------------------------------------------------
  336. Body.only:    {y,n}                : n        
  337.   Indicates that no title present, process all as table body.
  338. -----------------------------------------------------------------
  339. Body.font:    font                :        
  340.   Font to be used for the body of the table.
  341. -----------------------------------------------------------------
  342. Body.size:    token                : 8        
  343.   Char size to be used for the body of the table.
  344. -----------------------------------------------------------------
  345. File:        token (M)            :           **    
  346.   File containing the table text.
  347. -----------------------------------------------------------------
  348. Title.font:    font                :         
  349.   Font to be used for the title matter.
  350. -----------------------------------------------------------------
  351. Title.size:    charsize            : 11        
  352.   Char size to be used for the title matter.
  353. -----------------------------------------------------------------
  354. #
  355.  
  356. Nicetab -  Table nice-i-fier.  Takes a table made of ordinary text
  357. (such as program output or something composed in a text editor),
  358. centers it, sets it up in a nice font, and allows certain special
  359. effects.  Shaded blocks can be added for emphasis or to improve
  360. readability.  To do this, embed some of the special operators below 
  361. into the source table text:
  362.     @shadeblocks-on        start shading blocks of 3 lines
  363.     @shadeblocks-off    stop
  364.     @shade-on        start shading until turned off
  365.     @shade-off        turns the above off
  366.  
  367.  
  368. Nicetab uses several rules to do the conversion:  
  369.  
  370. [] The title, which is handled separately, should be separated from 
  371. the table body (rest of the table) by two or more blank lines.  
  372.  
  373. [] A series of tokens separated by ONE space are handled as one unit 
  374. and is called a phrase; watch out for two-space gaps (e.g. at the 
  375. beginning of a new sentence)-- these may cause undesired results.
  376.  
  377. [] The first phrase on a line is left justified; after that, numbers 
  378. are right-justified.  Character strings are left-justified, except 
  379. in the first few lines of the table body, where they are presumed to 
  380. be header stubs, and centered.  
  381.  
  382. [] Nicetab places phrases by scaling their row/column position to the 
  383. x/y graphics area, so it will tend to expand smaller tables and 
  384. compress larger ones.  You may want to adjust title.size and body.size 
  385. if things don't look right.
  386.  
  387. SHAR_EOF
  388. ############################
  389.  
  390. cat << SHAR_EOF > tplates/Page
  391. =========
  392. Proc Page
  393. =========
  394.  
  395. The following is an alphabetical list of the Page parameters.
  396. Given are: the parameter name; the parameter data type; a default
  397. value if any; and a description.  Especially important parameters
  398. have a "**" in the right margin.
  399.  
  400. ------------------------------------------------------------------
  401. Paperway:    {portrait,landscape,screen}    : portrait    
  402.   Selects the page orientation.  Screen produces an 11x11 square.
  403. ------------------------------------------------------------------
  404. Standard.linethick: 0 to 6            : 1        
  405.   Allows setting of default line thickness for entire page.
  406. ------------------------------------------------------------------
  407. Standard.font:  font                : /Helvetica    
  408.   Allows setting of default font for all text on the page.
  409. ------------------------------------------------------------------
  410. Title:        text                :           **
  411.   The page title is specified here.  It will be centered on the
  412.   page.  For subtitles, see Areadef.
  413. ------------------------------------------------------------------
  414. Title.file:    token                :        
  415.   The page title may be taken from this file.
  416. ------------------------------------------------------------------
  417. Title.font:    font                :         
  418.   Font for page title.
  419. ------------------------------------------------------------------
  420. Title.size:    charsize            : 12        
  421.   Char size of title.
  422. ------------------------------------------------------------------
  423. Title.belowtop: -12 to 12 (T)            : 0.2        
  424.   Distance of 1st title line below top of page.
  425. ------------------------------------------------------------------
  426.  
  427. # This sets page-wide things.  It should be used before doing
  428. # any drawing on the page.
  429. SHAR_EOF
  430. ############################
  431.  
  432. cat << SHAR_EOF > tplates/Pagebreak
  433. ==============
  434. Proc Pagebreak
  435. ==============
  436.  
  437. #
  438. # This will force a page eject, and subsequent drawing will 
  439. # be done on the next page.  No paramters.
  440. SHAR_EOF
  441. ############################
  442.  
  443. cat << SHAR_EOF > tplates/Pie
  444. ========
  445. Proc Pie    
  446. ========
  447.  
  448. The following is an alphabetical list of the Pie parameters.
  449. Given are: the parameter name; the parameter data type; a default
  450. value if any; and a description.  Especially important parameters
  451. have a "**" in the right margin.
  452.  
  453. -----------------------------------------------------------------------
  454. Field:     dfield (M)     :         :             **
  455.   Data field for numbers describing size of sections.  Numbers should
  456.   be percentages, e.g. 100 corersponds to the entire circle.
  457. -----------------------------------------------------------------------
  458. Center:     coordpair     :    4.0 5.5 :     
  459.   Location of center, in absolute units. 
  460. -----------------------------------------------------------------------
  461. Radius:     0 to 5     :      3     :     
  462.   Radius of pie, in absolute units.
  463. -----------------------------------------------------------------------
  464. Shade:     color list20     :         :     
  465.   Shades of pie sections.  One should be specified for each section.
  466. -----------------------------------------------------------------------
  467. Linethick: 0 to 10     :     1     :     
  468.   Thickness of section outlines.
  469. -----------------------------------------------------------------------
  470. Explode:   0 to 3     :     0.1     :     
  471.   Distance in abs units to 'explode' each piece.
  472. -----------------------------------------------------------------------
  473. Rotate:     0 to 360     :     0     :     
  474.   Rotate entire pie this many degrees counterclockwise.  This is handy
  475.   for final appearance.
  476. -----------------------------------------------------------------------
  477.  
  478. # Produces a pie graph.  Shaded and/or 'exploded' sections can be
  479. # done.  Unlike most other types of plots, the pie graph operates
  480. # strictly in absolute units, so no graphics area needs to be defined.
  481. # Use the "Rotate" paramter to adjust the pie to the desired position.
  482. # There is no built-in way to label sections-- use vipl to add 
  483. # annotations.
  484. SHAR_EOF
  485. ############################
  486.  
  487. cat << SHAR_EOF > tplates/Point
  488. ==========
  489. Proc Point
  490. ==========
  491.  
  492. The following is an alphabetical list of the Point parameters.
  493. Given are: the parameter name; the parameter data type; a default
  494. value if any; and a description.  Especially important parameters
  495. have a "**" in the right margin.
  496.  
  497. ----------------------------------------------------------------
  498. Mark:        token        : sym6e        
  499.   Symbol code (see example point1.g).
  500. ----------------------------------------------------------------
  501. Position:    text (M) (C)     :        
  502.   Position in absolute data system.
  503. ----------------------------------------------------------------
  504. Size:        1 to 20        : 5        
  505.   Marker size, in points.
  506. ----------------------------------------------------------------
  507.  
  508. # This proc draws a single marker at the specified position.  It 
  509. # should be used for annotation only.  See also Proc Distribution 
  510. # and Proc Legend.  
  511. SHAR_EOF
  512. ############################
  513.  
  514. cat << SHAR_EOF > tplates/Polygon
  515. ============
  516. Proc Polygon
  517. ============
  518.  
  519. The following is an alphabetical list of the Polygon parameters.
  520. Given are: the parameter name; the parameter data type; a default
  521. value if any; and a description.  Especially important parameters
  522. have a "**" in the right margin.
  523.  
  524. -------------------------------------------------------------------
  525. Linetype:    0 to 8                : 0        
  526.   Line dash pattern for outline.
  527. -------------------------------------------------------------------
  528. Linetype.magnify: 0.1 to 10            : 1        
  529.   Magnification of patterns for outline.
  530. -------------------------------------------------------------------
  531. Linethick:    0.1 to 10            : 1        
  532.   Thickness of line for outline.
  533. -------------------------------------------------------------------
  534. Outline:    {y,n}                : n        
  535.   Allows outlining of polygon with a line.
  536. -------------------------------------------------------------------
  537. Points:        text (M) (C)            :        **
  538.   This is where the points describing the polygon boundary get
  539.   specified.  There should be one coordinate pair per line. 
  540. -------------------------------------------------------------------
  541. Rectangle:    2coordpair            :        
  542.   Convenient way to specify a rectangle.  Give two coordinate
  543.   pairs (on the same line), one for the lower-left and one for
  544.   the upper-right.
  545. -------------------------------------------------------------------
  546. Shade:        color                : 0.5        
  547.   The shade of the polygon goes here.
  548. -------------------------------------------------------------------
  549. System:        {data,absolute}            : absolute    
  550.   Allows either the absolute or the data coordinate system 
  551.   to be used for specifying points.
  552. -------------------------------------------------------------------
  553. #
  554. # Creates a shaded rectangle or convex polygon, optionally outlined.
  555. # Should add Position, so that a polygon can be replicated
  556. SHAR_EOF
  557. ############################
  558.  
  559. cat << SHAR_EOF > tplates/QuitAppend
  560. ===============
  561. Proc QuitAppend
  562. ===============
  563.  
  564. #   This proc will suppress the final page eject, so that additional
  565. # IPL runs can be run later and appended, resulting in all the
  566. # graphics on the same page.  Should be used only when running
  567. # tipl and capturing the postscript output into a file.  Should
  568. # not be used with pipl, since pipl routes postscript to the printer
  569. # and could overlay onto someone else's output.  To print a file
  570. # of postscript manually, use: lpr my-postscript-file.
  571. #   Note that all settings, such as paper position, will have to
  572. # be re-specified for subsequent runs.
  573. SHAR_EOF
  574. ############################
  575.  
  576. cat << SHAR_EOF > tplates/Rangebar
  577. =============
  578. Proc Rangebar
  579. =============
  580.  
  581. The following is an alphabetical list of the Rangebar parameters.
  582. Given are: the parameter name; the parameter data type; a default
  583. value if any; and a description.  Especially important parameters
  584. have a "**" in the right margin.
  585.  
  586. -------------------------------------------------------------------
  587. Ends:        {y,n}                : y        
  588.   Style parameter allowing little cross-bars to be added on ends.
  589. -------------------------------------------------------------------
  590. Field:        dfield (list5) (M)        :         **
  591.   Data fields containing the values.  There should be from 1 to 5
  592.   values here, depending on the value of Nval. 
  593. -------------------------------------------------------------------
  594. Idfield:    dfield                :         
  595.   Allows an identifying label to be produced from the data. 
  596.   Indicates the data field where this label can be found.
  597. -------------------------------------------------------------------
  598. Label.size:    charsize            : 6        
  599.   Char size for the identifying label.
  600. -------------------------------------------------------------------
  601. Label.position: number                : 1        
  602.   Position for N=.. label in Y data units.
  603. -------------------------------------------------------------------
  604. Linethick:    0 to 5                : 1        
  605.   Thickness of outline.
  606. -------------------------------------------------------------------
  607. Midlinewidth:    number                : 0        
  608.   Size of median line in data units.  Usually this is to be the
  609.   as the width of the bar, but you may want it to protrude.  If
  610.   set to 0 (the default) the width will be set to that of the
  611.   bar.
  612. -------------------------------------------------------------------
  613. Midlineright:     {y,n}                : n        
  614.   This allows the creation of high-low-close bars as seen in the
  615.   stock market reports.
  616. -------------------------------------------------------------------
  617. Nval:        1 to 5                : 5        **
  618.   This controls the type of rangebar that will be produced.  See
  619.   the rangebar example.  To do boxplots, for example, use Nval: 5.
  620. -------------------------------------------------------------------
  621. Shade:        color                : 1.0        
  622.   Shade for inside of bar.  
  623. -------------------------------------------------------------------
  624. Width:        number                : 0.3        
  625.   Width of box, in data units.  
  626. -------------------------------------------------------------------
  627. Xfield:        dfield                :         
  628.   Allows placement of bars in X.  This is optional-- if omitted,
  629.   bars will be placed ordinally in X (X=1, X=2, X=3..).
  630. -------------------------------------------------------------------
  631. #
  632. # Produces various distribution representations in Y.  Produces one 
  633. # rangebar for every row of data.  See also Boxplot.
  634. SHAR_EOF
  635. ############################
  636.  
  637. cat << SHAR_EOF > tplates/Text
  638. =========
  639. Proc Text
  640. =========
  641.  
  642. The following is an alphabetical list of the Text parameters.
  643. Given are: the parameter name; the parameter data type; a default
  644. value if any; and a description.  Especially important parameters
  645. have a "**" in the right margin.
  646.  
  647. -----------------------------------------------------------------
  648. Direction:    0 to 359            : 0         
  649.   Direction of text in degrees counterclockwise.  Remember that
  650.   while it will always show in Postscript, any text not in the
  651.   normal (0) direction will not display on Sunview.
  652. -----------------------------------------------------------------
  653. File:        token                :        
  654.   Text can come from a file.  This specifies the file name.
  655. -----------------------------------------------------------------
  656. Embeddedcoords: {y,n}                : n        
  657.   Allows each line of text to contain placement information for
  658.   that line.  This is done by prefixing the line a coordinates
  659.   pair, and setting this option.
  660. -----------------------------------------------------------------
  661. Font:        font                :         
  662.   Font to use for text.
  663. -----------------------------------------------------------------
  664. Position:    coordpair             :         
  665.   Location of text.  The first line of text will begin here.
  666. -----------------------------------------------------------------
  667. Size:        charsize            : 10        
  668.   Char size of text.
  669. -----------------------------------------------------------------
  670. System:        {data,absolute}            : absolute    
  671.   Allows Position to be specified in data or absolute coordinates.
  672. -----------------------------------------------------------------
  673. Text:        text                :        
  674.   The text iteself, if not coming from a file.
  675. -----------------------------------------------------------------
  676. # For producing labels and blocks of text.
  677. SHAR_EOF
  678. ############################
  679.  
  680. cat << SHAR_EOF > tplates/Vbargraph
  681. ==============
  682. Proc Vbargraph
  683. ==============
  684.  
  685. The following is an alphabetical list of the Vbargraph parameters.
  686. Given are: the parameter name; the parameter data type; a default
  687. value if any; and a description.  Especially important parameters
  688. have a "**" in the right margin.
  689.  
  690. -----------------------------------------------------------------
  691. Field:        dfield (list8)            :          **
  692.   This specifies the data field which should contain the values
  693.   to be plotted.  If doing stacked or clustered bars, one field
  694.   for every sub-bar should be given.
  695. -----------------------------------------------------------------
  696. Format:        {single,cluster,stack}        : single    
  697.   Selects either single bars, clusters, or bars stacked up.
  698. -----------------------------------------------------------------
  699. Idfield:    dfield (list8)            :         
  700.   It is possible for an identifier to come from the data.  This
  701.   indicates the field where that identifier can be found.  Again,
  702.   if doing stacked or clustered bars, one field for every sub-bar
  703.   should be given.
  704. -----------------------------------------------------------------
  705. Idfield.size:     charsize            : 6        
  706.   Char size of labels.
  707. -----------------------------------------------------------------
  708. Idfield.position: -1 to 1            : 0.02        
  709.   Distance of label above (or below) top of bar (inches).
  710. -----------------------------------------------------------------
  711. Killwild:    number                :         
  712.   If a data value greater than this is found, abort.  Typically
  713.   used for low N on percentage distributions. 
  714. -----------------------------------------------------------------
  715. Outlinebars:    {y,n}                : y        
  716.   Allows bars to be outlined.
  717. -----------------------------------------------------------------
  718. Segment:    {y,n}                : n        
  719.   Style parameter causing bars to be segmented by white lines.
  720. -----------------------------------------------------------------
  721. Separation:    0 to 1                : 0.20        
  722.   This controls the distance between bars.
  723. -----------------------------------------------------------------
  724. Separation.sub: 0 to 1                : 0.03        
  725.   Distance between sub-bars in cluster.
  726. -----------------------------------------------------------------
  727. Shade:         color (list8)            : .2 .5 .8 1 0  
  728.   A shade for each bar (sub-bar).
  729. -----------------------------------------------------------------
  730. Ystart.0or1:    {0,1}                : 1        
  731.   Start bars at Y=0 or Y=1.  Almost always, bars work better when
  732.   started at Y=1.
  733. -----------------------------------------------------------------
  734. Yfield:        dfield                :        
  735.   Y position of bars (optional).
  736. -----------------------------------------------------------------
  737. Zeroat:        number                : 
  738.   Bars point left at values less than this (usually 0)
  739. -----------------------------------------------------------------
  740. #
  741. #   Vbargraph - for producing single, clustered or stacked bar graphs.
  742. # Exactly the same as Bargraph except that bars grow from left to right.
  743. # Format parameter can be used to select which type of bargraph.  If 
  744. # clustered or stacked, data for each sub-bar must come from a different
  745. # field.  The Field parameter should contain the field or fields in the
  746. # order that they are to appear, from left to right. Each line of data 
  747. # produces one major bar (a bar or set of sub-bars).
  748. #
  749. #   Unless Yfield is specified, bars will be drawn starting at the bottom
  750. # and moving to the top, one per data unit.  For example, if the Y axis
  751. # is scaled from 0 to 10, 9 bars will be produced at Y=1 through Y=9, 
  752. # assuming there are 9 or more lines of data.  Ystart.0or1 can be set 
  753. # to 0 to have the bars start at 0 instead of 1.
  754. #
  755. #   If Yfield is specified, that field will be used as the Y location of
  756. # the center of the bar or sub-bars.
  757. #
  758. #   The Killwild parameter can be used to abort the bar graph if any 
  759. # values exceed it.
  760. #
  761. #   The Zeroat parameter can be used to determine a point in X at which
  762. # becomes the effective origin for the bars, meaning that any values 
  763. # less than the Zeroat value will produce leftward bars.
  764. #
  765. #   Bars can be outlined (using Outlinebars), shaded (using Shade), or 
  766. # labeled# (using Idfield).  Shading and labeling require one value for 
  767. # each sub-bar, if doing clustered or stacked bars.  Labeling is done 
  768. # by specifying field(s) from the data.
  769. #
  770. #   Note that the Percents option can be set in Proc Getdata to transform 
  771. # your data into percentages for percentage distributions. 
  772. #
  773. #   Bugs: It should be possible to specify bar labels literally.
  774. SHAR_EOF
  775. ############################
  776.  
  777. cat << SHAR_EOF > tplates/Vector
  778. ===========
  779. Proc Vector
  780. ===========
  781.  
  782. The following is an alphabetical list of the Vector parameters.
  783. Given are: the parameter name; the parameter data type; a default
  784. value if any; and a description.  Especially important parameters
  785. have a "**" in the right margin.
  786.  
  787. -----------------------------------------------------------------
  788. Point1fields: dfield (list2) (M)     :                  **
  789.   Two fields in the data holding the x and y components of
  790.   the non-pointing end of the arrow.
  791. -----------------------------------------------------------------
  792. Point2fields: dfield (list2) (M)     :                  **
  793.   Two fields in the data holding the x and y components of
  794.   the pointing end of the arrow.
  795. -----------------------------------------------------------------
  796. Headlength:   0 to 2             :    0.1     
  797.   Determines length of arrowhead, length in inches from point.
  798. -----------------------------------------------------------------
  799. Headwidth:    0 to 0.8             :     0.2     
  800.   Determines width of arrowhead, arc of half of arrow in radians.
  801. -----------------------------------------------------------------
  802. Headshade:    color :         0.0     
  803.   Determines the color of arrowhead.
  804. -----------------------------------------------------------------
  805. #
  806. # Proc Vector generates a display of vectors, with or without 
  807. $ arrow tips.
  808. SHAR_EOF
  809. ############################
  810.  
  811. cat << SHAR_EOF > tplates/Vrangebar
  812. ==============
  813. Proc Vrangebar
  814. ==============
  815.  
  816. The following is an alphabetical list of the Vrangebar parameters.
  817. Given are: the parameter name; the parameter data type; a default
  818. value if any; and a description.  Especially important parameters
  819. have a "**" in the right margin.
  820.  
  821. ----------------------------------------------------------------
  822. Ends:        {y,n}                : y        
  823.   Allows little cross-bars to be drawn on ends.
  824. ----------------------------------------------------------------
  825. Field:        dfield (list5) (M)        :         
  826.   Fields in the data containing values.  The number is
  827.   determined by Nval.
  828. ----------------------------------------------------------------
  829. Idfield:    dfield                :         
  830.   It is possible to label bars with text.  Label comes
  831.   from this field, if specified.
  832. ----------------------------------------------------------------
  833. Label.size:    charsize            : 6        
  834.   Size of the label in points.
  835. ----------------------------------------------------------------
  836. Label.position: number                : 1        
  837.   Position for N=.. label in Y data units.
  838. ----------------------------------------------------------------
  839. Linethick:    0 to 5                : 1        
  840.   Thickness of boxplot outline.
  841. ----------------------------------------------------------------
  842. Midlinewidth:    number                : 0        
  843.   The median line is generally the same size as the width of
  844.   the bar, however, by changing this parameter it can be made
  845.   to protrude.
  846. ----------------------------------------------------------------
  847. Midlineright:     {y,n}                : n        
  848.   Allows median line to protrude in one direction only.
  849. ----------------------------------------------------------------
  850. Nval:        1 to 5                : 5        
  851.   Number of values making up the box.  See the Vrangebar
  852.   example.  
  853. ----------------------------------------------------------------
  854. Shade:        color                : 1.0        
  855.   Shade for inside of bar.
  856. ----------------------------------------------------------------
  857. Width:        number                : 0.3        
  858.   Width of bar, in data units.
  859. ----------------------------------------------------------------
  860. Yfield:        dfield                :         
  861.   Allows placement of bars in Y.  It is optional-- if not
  862.   given, Y placement is done ordinally (Y=1, Y=2, Y=3..).
  863. ----------------------------------------------------------------
  864. #
  865. # Same as Rangebar, but sideways.
  866. # Produces various distribution representations in X.  Produces 
  867. # one rangebar for every row of data.
  868. SHAR_EOF
  869. ############################
  870.  
  871.  
  872.