	PlotData 1.3: A Plotter with Analysing Data

		by Dr. Weiguang Huang
	Dept. Analytical Chemistry, University of New South Wales,
	Kensington, Sydney, NSW 2033, Australia
	E-mail: w.huang@unsw.edu.au
	Phone: 61-2-697-4643, Fax: 61-2-6622835

		Copyright (C) 1991-1993
		8 April 1993

	Please report any error or suggestion to the author.


		Contents
1. Introduction
2. Shareware, Student and Advanced Versions
3. Main Menu
	3.1 Read Menu
	3.2 Graph Menu
		3.2.1 Plot
		3.2.2 Zoom
		3.2.3 Crosshairs
		3.2.4 Axes
		3.2.5 Clear
		3.2.6 Text
		3.2.7 Color
	3.3 Enter Menu
	3.4 View Menu
	3.5 Anal Menu
		3.5.1 Differentiate
		3.5.2 Integrate
		3.5.3 Average
		3.5.4 Peak
	3.6 DOS
	3.7 Mode Menu
		3.7.1 Set Monitor Display Mode
		3.7.2 Save
	3.8 Help
4. Print
5. Interface
	5.1 With SymbMath
	5.2 With CurFit
6. References


		1. Introduction

	PlotData is a software package consisting of a plotter with 
data analysis capability.  With PlotData, data can be plotted on the
screen, viewed, edited, analysed, differentiated, integrated,
calculated, and reproduced graphically.  Many sets of data can be
overlapped to solve systems of equations graphically.  Users can
zoom in and out within graphics.  There is an interactive menu
and on-line help in an editable text file.
	It can be interfaced with other software, such as SymbMath 
(a symbolic calculator) or CurFit (separation of overlapping peaks).  
PlotData can read data from these software packages, without any 
modification, in the BAS-100 instrument format and in many other 
data formats.
	If SymbMath is interfaced with PlotData, SymbMath produces 
the data table of functions, and PlotData plots from the table. So
SymbMath seems to plot the functions. This interface can be used to 
solve equations graphically.
	It runs on an IBM-PC under MS-DOS with 100 KByte free memory, 
monitors such as CGA, EGA, or Hercules, and many kinds of printers.
	It has three versions: shareware, student and advanced. Its 
shareware version (Plotd13A.ZIP) is available from the Plot directory 
in SIMTEL20 archives on many anonymous FTP sites (wsmr-simtel20.army.
mil, garbo.uwasa.fi, rana.cc.deakin.oz.au, etc.) or by e-mail from 
listserv@vm1.nodak.edu, listserv@ndsuvm1.bitnet. 

		2. Shareware, Student and Advanced Versions
	Please read the document file PlotData.DOC and all *.TXT 
files before running PlotData. You should print them out if you need 
the printed documents. Please follow examples in the document to 
practise.
	Type PlotData on the MS-DOS prompt to run.
	PlotData has three versions: Shareware Version A, Student
Version B and Advanced Version C. 

----------------------------------------------------------------------
Version		Class	Data point		Price

Shareware	A	20			US$20 or AU$25
Student		B	100		  	US$40 or AU$50
Advanced	C	1000			US$60 or AU$75
----------------------------------------------------------------------
Upgrade		same				50%
----------------------------------------------------------------------
	Multiple copies discount is less 20% for each
---------------------------------------------------------------------

	Other foreign money is accepted at the current exchange rate.
	You must provide the copy of your license or license number
for upgrades.	
	Non-registered users are granted a limited license to try
the shareware version for a period of two weeks. After the trial
period you are required to register and to pay the registration fee.	
If you send the author your payment by cheque, money order
or bank draft that must be drawn in Australia, you will get the
latest version. If you sign the license (see the LICENSE.TXT file) 
and send it to the author, you will be legal users and get upgrades
on discount. If you write a paper about this software on publication, 
you will get a free upgrade.
	If you have any problem or advice, please feel free to write 
to the author.

		3. Main Menu
	PlotData provides an easy-to-use menu, so users only need to
choose a number from the menu. Each menu has its default value. 
Users hit the <RETURN> or <ENTER> key to get the default value. This 
default value is usually 0 (i.e. 0=exit).
	The main menu has the following choices:
0=exit, 1=read, 2=graph, 3=enter, 4=view, 5=anal, 6=DOS, 7=mode, 8=help

		3.1 Read Menu
	This menu reads data from a data file. It has the following 
choices:
0=exit, 1=x,y, 2=SymbMath, 3=BAS-100, 4=x,y,blank, 5=x,y1,y2,...
	PlotData can read data in these data formats:
1=x, y
2=SymbMath
3=BAS-100
4=x,y,blank
5=x,y1,y2,...

The format 1=x,y:
-----------------
1,	1.1
2,	2.1
3,	3.1
------------------

The format 2=SymbMath:
-----------------------
string
1,	1.1
2,	2.1
3,	3.1
-----------------------

The format 3=BAS-100:
--------------------------
string
:
string
#
1
1.1
2
2.1
3
3.1
*
---------------------------

The format 4=x,y,blank:
------------------------
1,	1.1

2,	2.1

3,	3.1
--------------------------

The format 5=x,y1,y2,... :
----------------------------
1,	1.1,	1.2
2,	2.1,	2.2
3,	3.1,	3.2
------------------------------

		3.2 Graph Menu
	The graph menu has the following choices:
0=exit, 1=plot, 2=zoom, 3=crosshairs, 4=axes, 5=clear, 6=text, 7=color

		3.2.1 Plot
	This option plots data. 
	When you are viewing the graphics screen, you will see a
cross somewhere on the screen.  On a new screen it appears in the 
upper-right-hand corner.  This is the crosshairs.  The coordinates of 
the center of the crosshairs are printed at the lower-right-hand 
corner of the screen.  You can move the crosshairs with the cursor 
(arrow) keys.  Try it, and see how the coordinates change.  You can 
change the step lenghth of the crosshairs movements (see Section 3.2.3).
        By using Crosshairs, you can locate a point and/or zoom the graph:
	(1) The crosshairs are useful for locating the intersections 
of curves or points where graphs cross the axes. When users move the 
crosshairs by an arrow key, the crosshairs value in X-Y axes will 
automatically change in 
(x,y) = (xxx, yyy). 
	(2) to zoom the graph:
move the crosshairs to a place which is a corner of a rectangle, 
hit the <Ins> key, move the crosshairs to another place which is 
another corner of the rectangle, and hit the <Del> key. The graph 
within the rectangle will become large.
	There are other two ways to zoom the graph:
(1) hit the <+> key to zoom in or the <-> key to zoom out within 
graphics one step.
(2) go to the Zoom option.

	Table 1         Key Function
------------------------------------------------------------------
Key             Function

<-              move left one step
->              move right one step
Up              move up one step
Down            move down one step
Home            move both left and up one step
Pg Up           move both right and up one step
End             move both left and down one step
Pg Dn           move both right and down one step
-               zoom out one step
+               zoom in one step
Ins             a corner of a rectangle for zooming in
Del             another corner of the rectangle for zooming in
------------------------------------------------------------------

		3.2.2 Zoom
	The graph will zoom to special X-Y axes values that users
provide.

		3.2.3 Crosshairs
	Users can change the step lenght of the crosshairs movements
by changing the X-rate or Y-rate value. The default values of X-rate 
and Y-rate are 0.01. The X-rate value of 0.01 means to move the 
crosshairs from the left to the right side (or from right to left) of 
the graph screen by 100 (1/0.01 = 100) steps. The maximum rate is 1. 
The Y-rate value is similar to the X-rate value.

		3.2.4 Axes
	This option plots X-Y axes on origin.

		3.2.5 Clear
	This option clears the graphics screen only.

		3.2.6 Text
	This option tells the program to go to a text mode, and to 
clear all graph and text.

		3.2.7 Color
	This option changes the curve color. The default value is 1.


		3.3 Enter Menu
	Users enter data from keyboard.


		3.4 View Menu
	Users can view any range of data, e.g. all data points, or 
from 4th data point to 10th data point.


		3.5 Anal Menu
	The anal menu has the following choices for analysing data:
0=exit, 1=differentiate, 2=integrate, 3=average, 4=peak

		3.5.1 Differentiate
	This option differentiates data and displays a
differentiated curve.

		3.5.2 Integrate
	This option integrates data and displays an integrated
curve.

		3.5.3 Average
	This option calculates X average and Y average values.

		3.5.4 Peak
	This option finds peaks, and outputs the number of peaks, 
and the peak location and height.


		3.6 DOS
	Users can go to the DOS shell for executing any DOS command
or another program. After execution, type EXIT to return to the main 
menu.

		3.7 Mode Menu
	The mode menu has the following choices:
0=exit, 1=set, 2=save

		3.7.1 Set
	This option is to set a monitor display mode. You must set
a suitable mode for your monitor before you plot, otherwise you will 
get ERROR when you plot. The default value is 1.


	Table 2         Monitor Display Mode
----------------------------------------------------------
Mode    Monitor                         Resolution

0       text
1       CGA, EGA, VGA, MCGA             320x200x16
2       as 1                            640x200x4
3       Hercules                        720x348x1
4       PC-M24, M240, M28, M280,        640x400
	M380, M380/c/t, PC6300          
7       EGA, VGA                        320x200x16
8       EGA, VGA                        640x200x16
9       EGA, VGA                        640x350x64
10      Monochrome, EGA, VGA            640x350x1
11      MCGA, VGA                       640x480x256
12      VGA                             640x480x256
13      VGA                             320x200x256
------------------------------------------------------------

Note that if your monitor is Hercules, you must load the MSHERC.COM
program as a TRS program before you run PlotData, otherwise you will 
get ERROR when you plot.

		3.7.2 Save
	This option saves your choice of the monitor display mode into
the PlotData.Ini file. When you run the program next time, it will 
automatically load the choice from the PlotData.Ini file.


		3.8 Help
	The on-line help displays one screen page each time. Hit any 
key to display the next page, except for <Ctrl>C which interrupts the 
help.
		

		4. Print
	Press the <Print Screen> key to print the graph on a printer.


		5. Interface
	PlotData can be interfaced with many software, e.g. SymbMath,
CurFit, etc.

		5.1  With SymbMath
	The SymbMath software is a symbolic calculator.

---------------------------------------------------------------------
# The plot function package plot.sm
# plot(x^2, x)		# plot the function of x^2
# plot(x^2, x,-6,6)	# plot the function of x^2 from x=-6 to x=6
# end

output=off
plot(y_,x_,x1_,x2_,dx_) := block(openfile('symbmath.out'),
	table(y,x,x1,x2,dx),
	closefile('symbmath.out'),
	system(plotdata))
plot(y_,x_,x1_,x2_) := plot(y,x,x1,x2,(x2-x1)*0.5)
plot(y_,x_) := plot(y,x,-5,5,0.5)
output=on
end
----------------------------------------------------------------------

	If SymbMath is interfaced with the software PlotData, SymbMath 
produces the data table of functions, and PlotData plots from the 
table. So SymbMath seems to plot the function. This interface can be 
used to solve equations graphically.
	In the plot package 'plot.sm' the funcion
		plot(y, x, x1, x2, dx)
first open a file 'SymbMath.Out' for writing, then write the data table 
of the function y into the file 'SymbMath.out', then close the file, 
and finally automatically call the software PlotData to plot. After it 
exits from PlotData, it automatically return to SymbMath.
	The functions
		plot(y, x)
		plot(y, x from xmin to xmax)
call the function plot(y,x,x1,x2,dx)
	e.g. plot x^2.
	Input:
plot(x^2, x)
end

in the software PlotData, just select the option to read the file 
'SymbMath.out' and to plot. PlotData read the data in the SymbMath 
format without any modification (and in many data format). 
	In PlotData, 
in the main menu:
1 <Enter>
in the read menu:
2 <Enter>
<Enter>
in the main menu:
2 <Enter>
in the graph menu:
1 <Enter>

where <Enter> is the <Enter> key.
Refer to PlotData for detail.
	Note that if your monitor is Hercules, you must load the 
MSHERC.COM program as a TRS program before you run PlotData. 
Otherwise you will get Error when you plot.

		5.2 With CurFit
	The CurFit software is to separate overlapping peaks into
individual peaks. If PlotData is interfaced with the CurFit software,
it can display overlapping and individual peaks.


		6. References
[1] Huang, W., Proceedings of the workshop on symbolic and numeric 
    computation, Helsinki University, Finland, 1991, p 185-186.
[2] Huang, W., Int. J. Math. Educ. Sci. Tech., 1992, 23(1), 160-165.
[3] Microbit, IEEE Micro, 1992, 12(1), 76.
[4] Microbit, IEEE Micro, 1992, 12(3), 80.
[5] Huang, W., Abs. Amer. Math. Soc., 1992, 13(3), 343-344.
[6] Huang, W., Abs. Amer. Math. Soc., 1992, 13(5), in press.
[7] Huang, W., Abs. Amer. Math. Soc., 1992, 13(6), in press.
[8] Huang, W., SIGSMALL/PC Notes, 1992, 18(1&2), 63-64.
[9] Long, G., Australian PC World, 1992, June, 117-119.
