home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
231.lha
/
PlotXY
/
plotxy.doc
< prev
next >
Wrap
Text File
|
1989-04-08
|
14KB
|
301 lines
PlotXY Version 1.0
By
Robert Mack
Copyright, 1989
1 Introduction
------------
PlotXY is a 2-D plotting package that plots X and Y data points
from a file on several types of graphs. PlotXY was written completely
in C using the Manx Aztec V3.6a C compiler. PlotXY was compiled using
the +fi option for the IEEE Double Precision Floating Point Emulation
and linked using the mal32.lib for access to the Amiga's library.
There are several good plotting programs in the public domain,
but the majority of them accept only a mathematical function as
input (as far as I know). I wanted a plotting package that
accepted X and Y data points as input. I also wanted it to be very
flexible as far as the output was concerned. PlotXY allows the user
to define just about every aspect of the plot that I could think of.
The user can determine the type of graph (i.e. linear, linear-log,
log-linear, log-log, and histogram), the size of the graph (by input
or interactively), the color of the graph and data, the marker type,
the line type (although there are only 6 pre-defined types), annotation
and title, and the graph characteristics (i.e. X /Y bounds, major/minor
tick marks, grid, and overlay option). Also included are linear
regression analysis and polynomial fit analysis. All these options
are explained in detail section 3.
PlotXY is in the public domain. The author grants permission
to duplicate this software provided that no commercial gain can be
had as a consequence of use or reproduction of this software and
that this and other identifying information be left intact. The author
may not be held liable for the consequences of use or misuse of this
software.
2. How to get started using PlotXY
I've provided several example input files so that you may
experiment PlotXY. The files are:
lotto.dat Frequency of the Maryland Lotto numbers
picked from the beginning to 01/14/89.
sine.dat The sine of 0 to 360.
tempf.dat The temperatures (degrees F)at Baltimore for
72 hours (I don't remember the dates...sometime
in the fall).
The following is an example of typical steps that are used
to plot a X/Y graph with PlotXY.
1) PLOTXY expects there to be a logical device "GDATA:", which
corresponds to the directory where the data for plotting is
located. This can be accomplished using the CLI "ASSIGN"
command (i.e., ASSIGN GDATA: DF1:Graphdata).
2) Open and read the data file. Choose the menu item OPEN
in the project menu. A file requester is presented for
selection.
3) Choose the graph type under the Graph Type menu.
4) Next choose the graph options you want under the Utilities
menu. The default is a point plot. You may also choose to
plot a line connecting the data points. The point, line, grid,
and overlay options can all be activated at the same time.
They are not mutually exclusive. If they are activated, a
check mark will appear be for an item. To turn them off, you
must reselect the item. The check mark will no longer be
displayed.
Setup may be activated to set up the graph characteristics.
If Setup is not picked at this point, it will be displayed
before the graph is plotted.
5) Choose the graph and background colors from the Color menu.
6) Plot the graph using the Draw item under the Project menu.
3. Description of Menu Items
3.1 Project Menu
------------
Draw - This menu item initiates the plotting of the graph. After
the user acknowledges that he/she wants to begin, a setup
window appears. This window allows the user to set up
different plot characteristics (see Setup menu item under
the Utilities menu for details). Note: This window will not
appear if the user has already chosen the plot's characteristics
using the setup menu item under Utilities.
Open - Open a text file containing n points to plot (max 1000). The
file must have the following format:
record 1 Number of points (integer)
record 2 X1 Y1
record 3 X2 Y2
. . .
. . .
record i Xn Yn
X and Y can be either floating point or integer. If you plan
on doing a line plot make sure the points are sorted. PlotXY
does NOT sort the points. A file requester will be presented
for file selection.
New - Erase the screen (plot) for a new plot. The file opened
previously is still active.
SaveIFF - Save the screen (plot) as an IFF file. A file requester
will appear for the user to enter the IFF file name.
Print - Print the screen (plot) to a dot matrix line printer. There
is an option to set the background color to white for
printing on a black and white dot matrix printer. (I've
never tried it on a color printer).
Credits - This item displays a window that gives credit for the
public domain routines that were used. Thank you.
Quit - Quit PlotXY.
3.2 Graph Type Menu
---------------
Linear - Indicates a linear graph is desired (default).
Linear-Log - Indicates a linear-log graph is desired.
Log-Linear - Indicates a log-linear graph is desired.
Log-Log - Indicates a log graph is desired.
Histogram - Indicates a histogram graph is desired.
3.3 Analysis Menu
-------------
Linear Regression - Linear regression allows you to analyze one
variable's relationship to another. The method
is to perform a least-squares linear regression
which is designed to minimize the sum of the
squares of the deviations of the actual data
points from the straight line of best fit. In
practice, a plot of the data points is made
and then a line is constructed (by selecting
the Linear Regression Item) that uniformly
divides the points. The data color and line
type is chosen at this point. The line is
described by y = mx + b, where m is the slope
of the line and b is the intercept. The
correlation coefficient, which is a measurement
of how well the line fitted to the data actually
does approximate the data, is also calculated.
These parameters are displayed in a separate
window.
Polynomial Fit - Polynomial fit uses a higher order polynomial
for a reasonably good representation of a series
of n data points (X,Y). The regression coefficients
are also estimated. The technique employs a
least-squares fit of the data by a polynomial of
order m, where m = 1,2,...10 (maximum of 10) and
examines the standard deviation s about the regression
line. The linear regression of Y upon a single
variable X can be extended to the multiple regression:
Y = a + b1X1 + b2x2 + ... + biXi + ... + bkXk,
where X1,X2,...,Xk are k different variables. If, as
frequently occurs, X1 = X, X2 = X**2, X3 = X**3, etc.,
we have a special case of multiple regression known as
polynomial or curvilinear regression.
After the data points have been plotted, select
the Polynomial Fit item under the Analysis menu.
The user is then prompted, via a string gadget, to
enter the order of the polynomial that will be used.
The color and line type are also selected. A curve
is then plotted on the graph. A separate window is
presented that displays: 1) the polynomial order,
2)the standard deviation, 3) the coefficient a, and
4) each bk regression coefficient.
3.4 Utilities Menu
--------------
Point - Plot a character marker for the data point (default).
Line - Plot a line connecting the data points.
Grid - Plot a dashed grid at the major tick marks on the
background.
Overlay - This option is used to overlay data from a different
file onto the previous graph. If this item is picked,
the previous options remain. All that is plotted are
the new data.
Setup - Setup opens a window with gadgets that allow the user
to change the graph characteristics. The following is
a list of graph characteristics that can be changed:
Graph Bounds (float)
------------------
XMAX - X maximum
XMIN - X minimum
YMAX - Y maximum
YMIN - Y minimum
Initially the graph bounds default to the X and Y data bounds
(X and Y minimum and maximum). Log plots default to
XMAX and YMAX = 1000.0 and XMIN and YMIN = 1.0.
Tick marks (integer)
--------------------
XMAJ - major tick marks along the X axis. Default is 5.
YMAJ - major tick marks along the Y axis. Default is 5.
XMINOR - minor tick marks along the X axis. Default is 5.
YMINOR - minor tick marks along the Y axis. Default is 5.
Box size (float)
---------------
XUL - The pixel upper left hand corner of the graph.
YUL - The line upper left hand corner of the graph.
Width - The graph width.
Height - The graph height.
Features
--------
Marker type - The marker type specifies what character is
drawn to mark the data point. The default is
"+". WARNING: The character font I use is
the Siesta.font (Microsmiths). I adjusted the
X and Y for the TEXT command to make the
characters draw so that the data point is
at the middle of the character. I checked the
default Topaz font and it looks okay, but other
fonts may not be centered. If this is a problem,
let me know. I use the Siesta font because it
looks the best (IMHO).
Data color - Change the color for the data. Default is green.
See color menu for default colors.
Precision - Precision is the number of decimal places that
are plotted to the left of the decimal point
(i.e. 0 plots integer). The default is 1.
Line pattern - Change the line pattern. The line option must
be active. The default is a solid line.
Box Mode - Enables the user to shape and move the graph box
interactively via the mouse. Menu options control
whether the box is being sized (shaped) or moved.
Use the left mouse button to define the box. Initially
this option is set to shape the box. Exit when you
are satisfied with the size and location.
Filter - This option does a running mean on the Y data to
perform a smoothing. Enter the number of Y data points
to use in the running mean. The data points must be sorted.
Annotate - This option allows the user to write text for the plot.
A string gadget is presented for input of a character
string of up to a maximum of 132 characters. Move the
text with the mouse to the location desired. Define
the location by pressing the left mouse button.
Title - This option lets the user write a title in the window's
title bar. The string may be up to a maximum of 132
characters.
3.5 Colors - default colors: black, blue, green, cyan, red, magenta,
------ yellow, and white.
Background - Set the background color by selecting the appropriate
box (default: black).
Foreground - Set the graph color by selecting the box (default: blue).
Palette - Make your own palette by using C. Heath's public domain
palette tool.
4.0 Remarks
-------
PlotXY is my first program that I have released as public domain.
I've learned how to program in C on my Amiga writing PlotXY and other
programs. Therefore, I am very interested in any comments, suggestions,
and complaints that you may have. Please let me here from you. I can
be reached on BIX as RMACK or PLINK as OTR763. You can also write
me:
Bob Mack
13909 Briarwod Drive Apt. 312
Laurel, Maryland 20708