$Id: README,v 1.62 1993/02/07 14:59:06 pturner Exp pturner $

Sun Feb 07 06:46:07 1993

(C) COPYRIGHT 1991, 1992 Paul J Turner
All Rights Reserved

XVGR IS PROVIDED "AS IS" AND WITHOUT ANY WARRANTY EXPRESS OR IMPLIED. THE
USER ASSUMES ALL RISKS OF USING  XVGR. THERE IS NO CLAIM OF THE
MERCHANTABILITY OR FITNESS FOR A PARTICULAR  PURPOSE.

YOU MAY MAKE COPIES OF XVGR FOR YOUR OWN USE, AND MODIFY THOSE COPIES.
YOU MAY NOT DISTRIBUTE ANY MODIFIED SOURCE CODE OR DOCUMENTATION TO USERS 
AT ANY SITES OTHER THAN YOUR OWN.

Xvgr Release 2.10 (Beta v1)

This is xvgr Release 2.10, a plotting tool for workstations using the
X Window System. Source code is available via anonymous ftp to 
ftp.ccalmr.ogi.edu [129.95.72.34] in /CCALMR/pub/acegr/xvgr-2.10.tar.Z.
Xvgr requires the XView toolkit, release 2.0 or 3.0.

A compiled binary for Sun SPARC is in xvgr-2.10/examples/xvgr. Run 
the script 'dotest' for a demo (see the file README.ex in the examples
subdirectory about the particulars of the script). You might let me 
know about problems you may encounter running the demos. Some of the 
demos are for color systems only and will not draw meaningful graphs 
on mono or grayscale systems.

I wish to thank all those who have participated in the development of 
xvgr by supplying bug reports, fixes, and comments.

To build xvgr, edit the Makefile and type 'make', or use the Imakefile.
I don't use the Imakefile generated Makefile in the course of development
so there are probably problems with it.

Note:

    * If you are using filled bars in barcharts, there will be problems
	with the specifications of fills in parameter files written with 
	2.07. The diagnostic is that the bars will not be filled. The 
	fix is to edit the parameter file and replace lines of the form:

	s0 fill 0

	with:

	s0 fill 1

	This will need to be done for each set that has a fill defined.

    * Log plots. There are a couple of things to note:

	1. The major tick spacing should be in integer values.
	2. The minor tick spacing works as follows:
		a value of 0 - draw a no minor ticks
		a value of 1 - draw a minor tick at each decade
		a value of 2 - draw a minor tick at decades 2, 4, 6, 8
		a value of 3 - draw a minor tick at decades 3, 6, 9
		a value of 4 - draw a minor tick at decades 4, 8
		a value of 5 - draw a minor tick at decade 5
	3. Minor ticks are not drawn at integer powers of 10.
	3. There are no provisions for drawing labels at other than
		integer powers of 10. I'm considering using fractional
		values of the major tick spacing to do this. Say
		a major tick spacing of 1.1 would mean label every 
		magnitude and every decade. 1.5 would mean label
		every magnitude and decade 5 only.
	4. Scrolling in any direction or in and out is not implemented.
	5. Use the tick label skip parameter to draw tick labels
		when the scale covers many magnitudes but minor ticks
		are desired at every magnitude.

	Please avoid throwing negative numbers or 0 at log graphs,
	there is little checking done for these values.

The regression module allows higher degree polynomials (up to degree
        10), but note that beyond degree 5, the matrices can become
        quite ill-conditioned. Also, there are now items that allow
        power, exponential, logarithmic, and inverse fits - note that
        the statistics generated for these fits refer to the transformed
        data.

The PostScript and FrameMaker .mif driver have been modified to allow
        compression of output, i.e., degenerate lines are not written.
        This makes for much smaller files generated from displaying large
        data sets.

   * Non-linear curve fitting should be considered a prototype.

	The engine is lmdif1.f from minpack (available from netlib) and
	is the routine that does not require an analytic Jacobian.
	Presently, the routine will fit a function with up to 10
	parameters (should there be more?). It is not quite finished,
	the Eval... button does nothing (I see this as a way of visually
	fitting the curve). Not much in the way of diagnostics are printed.
	There is a demo in examples (cd to examples and run ./xvgr logistic.d).
	There is no support for constrained problems. The code was converted
	from Fortran to C using f2c from netlib.

	I'd appreciate any feedback you might have on this feature. Should
	I be using a different engine? NL2SOL? Others? Got one that handles
	constrained problems? What kind of diagnostics should be printed?
	This routine may not survive, as I'm not sure I want to support it.

Bugs fixed:

Additions/changes:

Problems and works in progress:

  * Sort sets only operates on sets of type XY
  * Region operations only work on sets of type XY
  * There appears to be a problem with the colors used for lists in 
	xvgr compiled with XView 3.0. This will show up in the file
	lists and the command interpreter - don't know how to fix it
	yet.
  * The Symbols and Legend popups still need a facelift.
  * Log plot major tick spacing needs to be in terms of magnitudes.
  * Changing to PostScript fonts has led to problems with the mapping
	of Greek and special characters (Hershey fonts are still used
	for on screen text). I've tried to adhere to the PostScript
	collating sequence for Greek characters - I've not got to the
	special characters yet, so this remains a problem. There is also
	a difference in size between the Hershey and PostScript fonts
	that leads to problems in getting WYSIWYG hardcopy.
  * The fills and patterns drawn on the screen and the .mif output are
	not matched in the PostScript output. I know how to do it,
	but I haven't found the time.
  * Changing directories in the File/Read... popups does a chdir,
	therefore, if you write a file from xvgr, it will be written
	in the new directory.

Comments and bug reports to:

pturner@amb4.ccalmr.ogi.edu

Due to time constraints and the volume of mail, I can't promise that
I will be able to reply.

Paul J Turner
