KPlotW:  A (2D) plotting widget for KDE
KPlotServer:  A GUI wrapper for KPlotW which accepts data and plotting
	commands via KPComm.
KPComm: A class for socket/SHM communication with KPlotServer.
KPlotTool:  An example of how to use KPlotServer.

Copyright (C) 1999 David Sweet <dsweet@chaos.umd.edu

January 29, 2000
----------------
o Everything has been ported to KDE HEAD branch (post-1.89 stuff)
o The names of things have changed to make the organization clearer.
o The configure/auto* stuff has been cleaned up a bit.

I'm creating the KPlotServer/KPComm combination so that I can add KPlotW
plotting to RLab.  In fact, it looks like RLab makes that pretty easy to
do.  I just need more time...

You can make use of KPlotTool right away.  You can load matrices, plot,
and print.

You can also use KPlotW in your applications as it stands. 

There's some data in the exampledata directory that you can load with
KPlotTool ( or, if you're writing a program, KPMatrix::load() ).

I'd appreciate any bug reports.

Dave <dsweet@kde.org>






Older Notes
-----------

-------------------------------------------------------------------------------
KDE 1.x USERS!
--------------
The version of QwSpriteField distributed with KDE 1.x has two bugs which
affect KPlot.  The only version which fixes both bugs is the
patched version found at my web site:
	http://www.chaos.umd.edu/~dsweet/KDE/KPlotW
(Note: one bug is fixed inversion 1.7.0 which is in KDE CVS (HEAD
branch).  A newer version should also fix the second bug.
-------------------------------------------------------------------------------

DESCRIPTION OF KPSimple
KPSimple serves a similar purpose as gnuplot:  It creates plots from tabbed-
column ASCII data.  It's just for demonstration at this point, but it
should become an full-fledged, user-friendly plotting application in time.

MATRIX FILES (KPlot)
Right now matrix files are in this format:

x11 x12 x13 ... x1N
x21 x22 x23 ... x2N
.   .   .   ... .
.   .   .   ... .
.   .   .   ... .
xM1 xM2 xM3 ... xMN
In other words, the file contains M white-space- or comma- separated rows of
N '\n'-separated columns each.  Lines starting with either '%' or '#'
are comment lines.


DESCRIPTION OF KPlot
KPlot is built around KPlotW.  So the plots have whatever
user-friendliness KPlotW gives them plus other application-specific features.
For example, KPlot will attempt to automatically determine which type
of plot should be generated when a matrix is imported.

KPlot is rather basic right now, but it is quite usable.  You can
import marticies, view their plots, tailor the plots' styles (somewhat :),
add text labels, and print.



DESCRIPTION OF KPlotW
Use this widget to display a plot of a matrix of data.  The currently
available plot types are:
	o 2D parametric (multiple)
	o matrix map
(More are on their way.)  New plot types are easy to add.  You can follow
KPS2DParametric as an example if you'd like to add one.




INSTALLING/TESTING
	./configure
	make
	make install  (need to be /root/ to do this)
and you're set.  
	To test, type kpsimple.  

FEATURES
There are text label, axis, and plot sprite types.  Each has various
features (see the KPS*.h files).



FUTURE
 I'll be adding more plot types, refining the existing classes,
adding features to the sprites, QwPixmapSpriteFieldView, and
properties dialogs.  KPlotW will become an Openpart (once I learn
about that!)

The motivation for KPlot was RLab by Ial Searle.  I was very impressed
with this program and wanted to give it a KDE UI.  RLab will be
hacked/wrapped in a C++ class that will handle text IO
(terminal-style), give access to the defined matrices, and add
commands to RLab which communicate with KLab (pipes seem to be too
slow -- am I correct here?  I'm leaning toward shm).  Then, RLab's
.r-file interface will be used to add plotting functions, etc.  Also,
toolbar buttons and other UI interaction will be made to activate
predefined .r-files.  (Then sets of toolbar buttons + .r-files can be
saved together to make useful numerical packages and automate common
tasks and...)


Enjoy!  Please send your comments, etc. to me at <dsweet@chaos.umd.edu>.  
Thanks.

Dave