From: pete@egh-qc.uucp (Pete Phillips)
Newsgroups: comp.lang.perl,comp.sources.d
Subject: Re: SAS compared to Perl (LONG)
Date: 28 Sep 92 15:35:16 GMT
Organization: Surgical Materials Testing Lab (SMTL)

emv@msen.com (Edward Vielmetti) writes:

>Pete Phillips (pete@egh-qc.uucp) wrote:
>:   
>: - Use perl to produce a table of data that you can read into any of the
>:   following graphics packages:
>:      
>:      o Jgraph
>:      o xvgr
>:      o robot
>:      o xgobi
>:      o gnuplot

>I really like xgobi when I have a big pile of numbers to stare at.  It's
>an interactive exploratory data analysis program - kind of the same idea
>as MacSpin if you ever saw that - for projecting an n-dimensional dataset
>onto the screen and then twirling it around until some relation pops out
>at you.

>It's a very good way to find outliers that would be invisible from many
>other tools.

>Can we get a little review and (hopefully) net location into on the rest
>of these?  xgobi can be found at the "statlib" archive (let's see, ftp to
>statlib.cmu.edu, login is "statlib" (i think), password like normal guest
>passwords).

OK - but I'm not sure about posting it here in c.l.p. - cross posting
to comp.sources.d.

Basically I find with graphing packages its horses for courses.  All
of these are good.  All are available on the net - try them out and
see which fits you best.

Below I've given a quick summary followed by the blurb from the
manual/README file, and where you can get them or what newsgroup they
were posted in (archie will find them for you anyway).  Sorry if I'm
duplicating something elsewhere on the net - I looked in news.answers
beforehand.

Also, a postscript table was posted somewhere (in June 92) comparing
SIOPS, PV-Wave, KHOROS, XVGR, Gnuplot, PlotXY, DADisp, Robot and NCAR
- although I have the document, I'm not sure of its source.

Pete
-------------------------------------------------------

o Jgraph
  comp.sources.misc Volume 31 (also some patches to take it up to 8.1 I think).

  Produces postscript graphics from command files, eg:

  newgraph
  newcurve pts 2 3 4 5 1 6 linetype solid
  xaxis label : X axis
  yaxis label : Y axis
  title : This is an example graph
  
  Manual blurb:
     Jgraph takes the description of a graph  or  graphs  in  the
     standard  input, and produces a postscript file on the stan-
     dard output. Jgraph is ideal for  plotting  any  mixture  of
     scatter  point  graphs,  line graphs, and/or bar graphs, and
     embedding the output into LaTeX, or any other text  process-
     ing system which can read postscript.

     The graph description language is simple enough to get  nice
     looking graphs with a minimum of effort, yet powerful enough
     to give the user the flexibility to tailor the appearance of
     the  graph  to  his  or  her  individual  preferences.  This
     includes  plotting  multiple  graphs  and  laying  them  out
     separately on the page (or pages).


  
o xvgr

  Interactive graphing tool which works with the Xview toolkit.  Also
  a Motif version I believe. Takes a while to get used to how to do things
  (loads of menus) but produces some good graphs.  Quite a selection
  of graph types.  Here is the blurb from the manual:
  
  DESCRIPTION
     ACE/gr is a data/function plotting tool for workstations  or
     X-terminals using X.  A few of its features are:

     +    Polynomial  regression,  splines,   running   averages,
          DFT/FFT, cross/auto-correlation.

     +    Plots up to 10 graphs with 30 datasets per graph.

     +    User-defined scaling, tick marks, labels, symbols, line
          styles, colors.

     +    Batch mode for unattended plotting.

     +    Read and write parameters used during a session.

     +    Support through device independent graphic drivers  for
          PostScript, and FrameMaker .mif format.

Available from amb4.ese.ogi.edu [129.95.20.76] in pub/acegr.


o robot - another interactive graphing package. I like this
  particularly for data fitting (polynomials etc). Again, like xvgr, it
  takes a while to get used to where things are on the menus.

	Blurb:
	
          Robot - a scientific graph plotting and data analysis tool
        ----------------------------------------------------------

  The program "robot" is now available by anonymous ftp from
  ftp.astro.psu.edu.
  
  Main Features of Robot
  ----------------------
  * Graph plotting in various styles - error bars, histogram,
          symbols, lines, dashed lines etc. Linear or logarithmic axes.
  * Data manipulation - arithmetic, functions, smoothing,
          folding, sorting.
  * Fitting to data using built in functions such as Gaussians,
          polynomials, Lorentzians, and/or a user defined function.
  * Annotation of graphs with text in various styles, simple
          drawing tools.
  * Interaction with Robot is via pull-down menus, buttons
          etc. and/or a pseudo command line type interface.
  * Commands are stored in log files for later play back, editing etc.
  * Command files  can also include basic programming constructs:
          loops, if tests, user defined variables.
  * Multi color plots. Multiple plots per page.
  * Output in PostScript format.
  
  
  Requirements
  ------------
  Robot is XView based (version 3). User interface portions of code are
  written in 'C'. Data manipulation code is written in FORTRAN. Hence the
  public domain f2c package (available from research.att.com) or a
  FORTRAN compiler is required.
  Alternatively, a binary for Sun 4's is also available by anonymous
  ftp.
  
  Robot has mainly been tested on Suns. A limited test on a DECstation
  has also been made (version 0.35 only).
  
  The full distribution (source, documentation etc.) takes up about
  1.5Mbytes of disc space and the executable consumes approximately 2.5
  Mbytes of RAM.
  
  Availability
  ------------
  By anonymous ftp from ftp.astro.psu.edu (128.118.147.28) in
  the directory pub/astrod.
  

o xgobi - see comments from Edward Vielmetti above.  
  
  I agree - with xgobi you can sit back and watch your data spin
  round, you can prod it, you can remove certain data sets - not
  something that will produce nice graphs for a report, but it can help
  you get a handle on what it means.
  
  It also does something called the "Grand Tour" - I'm still trying to
  understand what this is !
  
  Available from statlib as above.
  
o gnuplot - graphing package particularly geared towards plotting functions,
  including 3D plotting.  Been around for a while, with regular updates.
  Available from comp.sources.misc archives (volume 24), patches in
  volume 27 & 30.  I used to use it quite a lot, but use jgraph.
  robot, xgobi and xvgr now. 
  
  Manual blurb:
  
     Gnuplot is a command-driven  interactive  function  plotting
     program.

     If files are given, gnuplot loads each file  with  the  load
     command,  in  the  order specified.  Gnuplot exits after the
     last file is processed.

     Here are some of its features:

     Plots any number of functions, built up of  C  operators,  C
     library  functions,  and some things C doesn't have like **,
     sgn(), etc.  Also support for plotting data files,  to  com-
     pare actual data to theoretical curves.

     User-defined X and Y ranges (optional  auto-ranging),  smart
     axes scaling, smart tic marks.

     Labelling of X and Y axes.

     User-defined constants and functions.

o ipl - Sunview based graphics package.  A distinctive package this - 
  only works under Sunview, but has one of the widest range of graphs
  I've seen.  However, the command language is not intuitive. 
  You create command files such as:
  
  --------------------------------------------------------  
  Proc Page:
  Title: Bargraph examples
  
  Proc Getdata:
  Data:
  01         0      1      0      6     10      1     11     10      2     -41
  02         3      5      0      2      6      2      3     11      3     35
  03         1      3.4    0      1      2      0      5      7      1     20
  04         2      4.8    3     11     24      9     20     11     29     -13
  05         0      3.3    1      1      4      0      8      3      2     -22
  06         2      2      0      2      7      1      6      4      4     -28
  07         1      3      0      1      6      1     24     22      3     31
  08         3      0.8    0      0      2      0      7      3      0     -15
  09         3      2.2    0      2      5      0      1      1      2     16
  10         4      8      1      6     10      1     12      2      4     48
  
  Proc Areadef:
  Area: 4nw
  Subtitle: Fig. 1
  	Single format, segmented
  Subtitle.above: 0.3
  Ymax: 40
  Yinc: 10
  # The following parameter makes the first stub move over one position
  Xstart.0or1: 1
  # Xmax must be set to at least one greater than the number of data rows
  Xmax: 11
  # Use the 1st data field for X stubs
  Xstub:	@1
  Saveas: A
  
  Proc Bargraph:
  Format: single
  Field: 8
  Shade: 0.8
  Segment: y
  
  
  Proc Areadef:
  Clone: A
  Area: 4ne
  Subtitle: Fig. 2
  	Stack format 
  Ymax: 100
  
  Proc Bargraph:
  Format: stack
  Field: 6 8 9
  Shade: .5 .8 1
  Outlinebars: n
  
  Proc Areadef:
  Clone: A
  Area.rectangle: 1 3 8 5
  Subtitle: Fig. 3
  	Cluster format
  
  Proc Bargraph:
  Format: cluster
  Separation: 0.2
  Separation.sub: 0.0
  Field: 6 8 9
  Shade: .5 .8 1
  
  Proc Areadef:
  Clone: A
  Area.rectangle: 1 0.5 8 2
  Subtitle: Fig. 4
  	Adjustable "Zero" line, values shown
  Ymax:  50
  Ymin: -50
  Yinc: 10
  
  Proc Bargraph:
  Format: single
  Field: 11
  Shade: .5 .8 1
  Idfield: 11
  Zeroat: 0
  
  Proc Draw:
  Points: 0 0 11 0
  System: data
  --------------------------------------------------------  
   
    It does, however, produce beautiful graphs. Blurb follows:
    
    ipl     a 2-D graphic production system with table beautifier
  
  Version 1.0, January 1990.
    This directory contains the sources and examples for ipl,
  a 2-D graphics production system.  It produces scatterplots,
  lineplots, bargraphs, range displays, pie graphs, U.S./Canada
  maps, schedule charts, boxes, arrows, text, etc.  Produces
  Postscript or Sunview output, based on a user-supplied control
  file.  Included are a gallery of several dozen examples.
  Also includes:
    [] A table beautifier which is useful for taking plain text
  tables, spreadsheet output, etc. and setting in a nice font.
    [] A low-level subroutine library for producing nearly equivalent
  graphics (with shading) on Postscript and Sunview.
  
   Developed on a SPARC machine (Solbourne 5/600) running SunOS 4.0, with
  Sunview and Apple Laser-writers.  Also verified on Sun-3.
   I won't be able to send fixes or answer mail after 2-28-90.
  For anyone interested in converting to this XView-- sunview code is
  contained in one file only: sunv.c.
  
  
  Written by:     Steve Grubb
                  Johns Hopkins University School of Medicine
                  550 North Broadway, 9th Floor
                  Baltimore, MD 21205  USA
  
  Available from comp.sources.unix, volume 21.
-- 
Pete Phillips, Surgical Materials Testing Lab, Bridgend, S. Wales.
UUCP   :  uknet!egh-qc!pete            DOMAIN :  pete@egh-qc.co.uk
-----------------------------------------------------------------
"SCIENCE: A way of finding things out and then making them work.  
Science explains what is happening around us the whole time.
So does RELIGION, but science is better because it comes up with 
more understand able excuses when its wrong. There is a lot more 
science than you think."