home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Breakthrough: Entertainment & Education
/
SharewearBreakthroughEnt_Ed.cdr
/
educ
/
zgrafwin
/
zgrafwin.txt
< prev
Wrap
Text File
|
1992-03-30
|
74KB
|
2,073 lines
Rise up in splendor! Your light has come. The glory of the Lord
shines upon you (Isaiah 60).
------------------------------------------------------------------------------
CONTENTS
------------------------------------------------------------------------------
I. ZGRAFWIN -- AN INTRODUCTION
II. SETTING UP
III. COMMAND-LINE SWITCH OPTIONS
IV. CONSTRUCTING GRAPHS
A. F-2D Graph
B. G-3D Graph
C. X/Y Line Graph
D. Polar Graph
E. Log Graph
F. Bar Graph
G. Pie Graph
H. Area Graph
V. PRINTING GRAPHS
VI. MISCELLANEOUS
A. Math Functions and Syntax
B. Saving/Restoring Graphics Images
C. Data-File Input Formats
D. The Editor
E. Adding Custom Text to Graphs
VII. FILES INCLUDED ON DISK
VIII. REGISTRATION
-------------------------------------------------------------------------------
I. ZGRAFWIN -- AN INTRODUCTION
This program is designed to allow the user to create, display, and
print X/Y, Polar, Log, Bar, Pie, and Area graphs, as well as graphs
of 2-D functions/expressions [Y = F(X), or F(X,Y) = 0], and 3-D
functions [Z = G(X, Y)] in the MS-Windows 3.0 environment.
The program implements a "quick-and-dirty" approach; it may lack a
few of the fancy features that other professional packages offer,
but it does allow the user to create, display, and print a number
of popular graph styles within Windows. It also allows the
importing and exporting of graphics images in color PCX format.
If you are familiar with the DOS ZGRAF program, you will find this
program very similar in operation, and will probably not need to
read this document, other than just to get started. Otherwise, if
you're new to ZGRAF/ZGRAFWIN, you may want to run the demo
program, to get a quick overview of some of the graph styles
available.
ZGRAFWIN is a shareware program. You are encouraged to try it out
and pass it around to your friends. If you decide to use it,
please consider registering the software. The registration fee is
just $15.
Requirements for ZGRAFWIN are: MS-Windows ver. 3.0 or later. A
color VGA monitor and a mouse are strongly recommended.
II. SETTING UP
To start the program, run "ZGRAFWIN.EXE" from the Windows Program
Manager.
III. COMMAND-LINE SWITCH OPTIONS
None.
IV. CONSTRUCTING GRAPHS
Instead of giving detailed directions for constructing individual
graphs, a brief description of each type of graph is given, and an
example of constructing a graph of each category is demonstrated.
The directions should become fairly intuitive after working through
just the few examples listed here. . .
By the way, if you need help while working with ZGRAFWIN, just
select the "Help" top-level pull-down menu. Help is available on a
number of topics--like information on the different graph styles
available, instructions on how to print a graph, and more.
-------------------------------------------------------------------------------
A. F-2D Graph
Description: Graphs up to four separate "2-dimensional"
expressions in the x-y plane. The user may graph
both functions [i.e., equations of the form F(X) =
0], and non-functions [equations of the form F(X,Y)
= 0]. Data ranges may be selected for graphs
either automatically [auto-scaling ON], or manually
[manual-scaling]; in the latter case the graph
is shown over the range:
xmin <= X <= xmax and ymin <= Y <= ymax,
where the user selects the min. and max. values.
Notes: The first form [F(X) = 0] requires a true function,
e.g., F(X) = 5.0 * X + 3.0 or F(X) = sin(X). The
second form [F(X,Y) = 0] may be used to graph
"non-functions" in the x-y plane, like circles,
hyperbola, etc. For example, one would use an
equation like F(X,Y) = X*X + Y*Y - 25.0 to graph a
circle.
In each case, the user may specify the number of
intermediate data points [n] used to calculate
function values, where 3 <= [n] <= 250. For most
graphs, choosing a value of [n] between 75 and 100
provides adequate "resolution"; larger values of
[n] produce a nicer-looking graph, but will take
longer to calculate. The complexity of the
function also impacts the calculation time. On
most machines, it shouldn't take but a few seconds
to generate a F(X) graph, or a minute or two for an
F(X,Y) graph, with n = 100.
Up to 130 characters may be entered for the F-2D
expression, and the function/expression is
evaluated in double-precision. Most standard math
functions are allowed; see Sect. VI, Paragraph A
for a complete list of legal functions, and for
information on legal function syntax.
Example #1: Graph the following four equations on a single graph
over the range -20 <= X <= 20, -2 <= Y <= 5, using n =
100 intermediate data-points to evaluate each function:
F(X) = sin(X) / X
F(X) = 2.0 * sin(X) / X
F(X) = 4.0 * sin(X) / X
F(X) = 5.0 * sin(X) / X
1. There are 4 expressions. Select "number of
expressions" and select "Four". Select "Enter
expression(s)", and type: "sin(X)/X", "2.0*sin(X)/
X", "4.0*sin(X)/X", and "5.0*sin(X)/X" for the 4
-------------------------------------------------------------------------------
entries (We use an upper- or lower-case "X" as the
variable).
2. Select "Data ranges/scaling", then select
"X-minimum" and type "-20.0". Select "X-maximum"
and type "20.0". Notice floating-pt. numbers are
used. Enter "-2.0" and "5.0" for the minimum and
maximum Y-values, respectively. Toggle the
manual-scaling ON (since we are MANUALLY selecting
the data-ranges).
3. Select "Number of data points", and enter "100".
This corresponds to the number of intermediate
function evaluations to be used by the program
within the interval (Xmin, Xmax) = (-20, 20).
4. Select "Title", and enter "Graphs of sin(X)/X" as
the Main Title.
5. Select "Generate 2-D graph". After a few seconds,
the result should appear on the screen...
After the graph is displayed, you can try using various
colors for the "Axis color", "Plot color", and
"Background color" categories. Then select "Generate
graph" again to re-view the graph. You can continue
trying different settings and re-generating the graph
as necessary to obtain a pleasing display.
The "Screen grid toggle" option allows the user to
switch a grid of dots for the graph on or off.
Example #2: We'll now try an expression in X and Y. We'll graph
the equation:
1.5 1.5
|X| + |Y| = 25, -10 <= X <= 10, -10 <= Y <= 10
1. To graph an expression like this, first rewrite it
in a form ZGRAFWIN can handle, i.e., in the form
"F(X,Y) = 0". Here, we rewrite the equation as:
(abs(X)) ^ 1.5 + (abs(Y)) ^ 1.5 - 25.0 = 0.0
2. There is only one expression in this case, so
select "number of expressions" and enter "1". Now
select "Enter expression(s)" and type in the form-
ula: "(abs(X)) ^ 1.5 + (abs(Y)) ^ 1.5 - 25.0".
3. Select "Data ranges/scaling", and enter "-10.0" for
X-minimum and Y-minimum. Enter "10.0" for X-maximum
and Y-maximum. Turn Manual-scaling ON.
4. Select "Number of data points", and enter "50".
-------------------------------------------------------------------------------
5. Select "Generate 2-D graph". While the graph is
calculating, the approximate amount completed is
displayed as a percentage. After a minute or two of
calculation time, the graph should appear on the
screen.
Example #3: Graph the equations of a hyperbola,
2 2
X - Y = 25, and of an ellipse,
2 2
(X/5) + (Y/3) = 1.
1. Select "number of expressions" and enter "2".
select "Enter expression(s)" and type in: "X*X - Y*Y
-25.0" and "SQR(X/5.0) + SQR(Y/3.0) - 1.0".
2. Repeat steps 3-5 of Example #2.
Notes: For the F-2D graph, it is possible to interrupt the
calculation process by pressing/holding down the
[Esc] key while the graph is being computed, if
desired...
A ZOOM feature allows the user to "zoom in" to a
particular area of the graph. The user is asked to
select a rectangular region onscreen with the
mouse, and the graph is then adjusted to show the
new region more precisely.
The Up-, down-, left-, and right- arrows on the
scroll- bars may be used to adjust the relative
positioning of the graph (Note: Both the ZOOM and
the scroll-bar action is also available on the X/Y-
Line graph, described later).
-------------------------------------------------------------------------------
B. G-3D Graph
Description: Graphs a 3-D function Z = G(X,Y), for X, Y, and Z
in the range (Xmin, Xmax), (Ymin, Ymax), and (Zmin,
Zmax), respectively.
Notes: Despite its appearance on the menu, no automatic
scaling is available for this graph. The user
should select values for the min and max values
that "include" the range of values which will be
generated. For example, if the function is:
G(X,Y) = cos( 0.05 * X *Y ),
with -10.0 <= X <= 10.0, and -10.0 <= Y <= 10.0
(as in the example below), one could select the
values (Zmin, Zmax) as (-1.0, 1.0), so that all
points of the cosine-function will be included and
displayed. Again, up to 130 characters may be
entered for the function G(X,Y). The function is
evaluated in double-precision format; see notes on
math-functions and ZGRAFWIN function syntax in
Sect. VI, part A, below.
Since G(X,Y) "surface plots" require many lines to
be drawn, it may take a little while for the
program to draw a complete graph--please be
patient. You can abort the graph construction
process at any time while the graph is being
created by pressing the [Esc] key -- this may
save you some time if you do make a mistake...
Naturally, there is a tradeoff between graph
accuracy and graph calculation time for this type
of graph, and three accuracy/speed settings may be
chosen. For the first pass at a new function
you might want to use the "Low accuracy / fast"
draw option (under "Format of graph / speed") to
create a "rough draft", and then for the final
product select the "High accuracy / slow" setting
to generate a more "presentation-quality" graph.
As you might expect, the higher accuracy graph
looks a lot better, but comes at considerable
expense of CPU time--it may take 5-10 minutes
to generate a hi-accuracy graph on a slower
machine...
Example: Graph the function G(X,Y) = cos( 0.05 * X*Y ), for
X in the range (-100,100), and Y in the range
(-100,100). Use medium accuracy/speed.
1. Select "Enter 3D function", and type in
"cos( 0.05 * X * Y ).
-------------------------------------------------------------------------------
2. Select "Data ranges", then under the sub-menu
enter the values -10.0 for X-minimum, 10.0
10.0 for X-maximum, -10.0 for Y-min., and 10.0
for Y-max., respectively.
3. Enter -1.0 and 1.0 for Z-min. and Z-max.,
respectively.
4. Select "Format of graph / speed" and then
"Medium accuracy / medium".
5. Use Windows to "Maximize" the screen window in
which ZGRAFWIN is running to full-screen (this
isn't necessary, but seems to help the
hidden-line removal algorithm for this graph
work a little better).
6. Select "Generate G-3D graph" to create the
graph.
Notes: The "Screen Frame Toggle" option may be used to
switch the "wire-frame" outline for the graph on
or off.
A "band colorization" feature allows you to iden-
tify six distinct z-value regions in the graph by
color. This feature can be toggled on/off (see
"Band colorization toggle" under "Format of graph/
speed"). The color of each band corresponds to
each fill color (which you can specify under the
"Options", "Default colors" menu).
If you'd like to look at some other "easy"
3-D functions, here's some to try:
sin( 0.05 * X * Y ) , -10 <= X <= 10
-10 <= Y <= 10
-1 <= Z <= 1
cos( 0.5*X ) - sin( 0.5*Y ) , -10 <= X <= 10
-10 <= Y <= 10
-2 <= Z <= 2
sin( 0.05 * sqrt(X*X + Y*Y) ),
-100 <= X <= 100
-100 <= Y <= 100
-1 <= Z <= 1
-------------------------------------------------------------------------------
C. X/Y Line Graph
Description: Graphs up to 1000 (x,y) data-points (total) taken
from a data-file, displaying a user-defined symbol
at each data point. By using different symbols,
multiple "groups" of data may be displayed on a
single X/Y graph grid.
Notes: Each (x,y) coordinate must be entered on its own
line in the data-file, in floating-pt. format
(anywhere on the line, but with at least one space
separating the x- and y-coordinates). The symbol
to be displayed must be a single character, and
must follow the y-coordinate anywhere on the line.
Each "group" of data should have a unique symbol
associated with it.
If you want lines drawn between data-points
(connecting lines may be added/removed by the
"Connecting-line toggle" menu selection), it is
important to list the data-points in the file
sequentially--in the order in which the data is to
be plotted, as in the example below. . .
Example: It is desired to display five groups of (x,y) data
on a graph, and identify the individual groups
with the symbols "A", "B", "C", "D", and "E".
The first data group is: (0, 10), (1, 0), (2, 30),
(3, 20), (4, 10), and (5, 20).
The second data group is: (0,50), (1,60), (2,65),
(3, 65), (4, 60), and (5, 50).
The third data group is: (0,90), (1,100), (2,80),
(3, 90), (4, 100), and (5, 90).
The fourth data group is: (0, 110), (1, 120),
(2, 130), (3, 120), (4, 125), and (5, 115).
The fifth data group is: (0, 150), (1,145),
(2, 155), (3, 160), (4, 150), and (5, 135).
1. Create the data-file. Use an ASCII editor
(you can use ZGRAFWIN's built-in editor if you
like--see section VI, part B) to create a file
called "xy.dat". For convenience this file is
included with ZGRAFWIN [the "xy.dat" file has
some additional instructions in it, which you
may ignore for now, with the exception of the
"#GRAPH_TYPE" line, and some options in the
"OPTIONS" section, as will be explained]. The
data file looks like this:
This tells ZGRAFWIN the -> #GRAPH_TYPE = XY_GRAPH
type of graph to construct.
-------------------------------------------------------------------------------
These lines specify some -> #OPTIONS = GRID ^ CONNECT ^ MANUAL^
graph options. The graph -> #XMIN = -1.0
has a background grid -> #XMAX = 6.0
("GRID") with connecting -> #YMIN = -20.0
lines between data points -> #YMAX = 170.0
("CONNECT"), and manual
graph scaling will be used
("MANUAL"). The "XMIN", "XMAX", "YMIN", and "YMAX" variables
correspond to the min. and max. values used on the X- and Y- axes
on the graph. If the XMIN, XMAX, YMIN, and YMAX values were not
listed, or if the "AUTO" (automatic scaling) option was listed
instead of "MANUAL" (manual scaling), the XMIN, XMAX, YMIN, and
YMAX values would be automatically determined by the program,
based upon the X- and Y- input-data ranges occurring in the data.
For now don't worry too much about the specifics for these
"#OPTIONS" command-lines. The next examples will help explain
their usage and purpose more clearly...
0.0 10.0 A
1.0 0.0 A
This is the first group of 2.0 30.0 A
data-points, which will be -> 3.0 20.0 A
displayed with 'A' symbols. 4.0 10.0 A
5.0 20.0 A
Blank lines or lines with a
"!" in the first column are ->
comment lines, and are
ignored by ZGRAFWIN.
0.0 50.0 B
Second group of data-points 1.0 60.0 B
will be displayed using 'B' -> 2.0 65.0 B
symbols. 3.0 65.0 B
4.0 60.0 B
5.0 50.0 B
More Blank lines (ignored) ->
(2 More Groups of Data Go
Here, And Are Displayed
Using 'C' And 'D' Symbols. ->
The data is not repeated
here, for reasons of space).
0.0 150.0 E
Fifth group of data-points 1.0 145.0 E
will be displayed using 'E' -> 2.0 155.0 E
symbols. 3.0 160.0 E
4.0 150.0 E
Last line of file -> 5.0 135.0 E
When done editing, save the file, and return
to the ZGRAFWIN "X/Y Line" menu.
2. Under the "X/Y Line" top heading, select "Load
data file". When prompted for the name of the
data-file, type "xy.dat". The program should
indicate that 30 data-points were "Loaded OK".
3. Select "Generate X/Y line graph" to draw the
graph.
-------------------------------------------------------------------------------
D. Polar Graph
Description: Graphs up to 1000 data-points (total) taken
from a data-file, displaying a user-defined
symbol at each data point. By using different
symbols, multiple "groups" of data may be
displayed on a single polar graph grid. Input
data may be in either RECTANGULAR (x,y) format
or in POLAR (radius, angle) format.
Notes: (Same as for X/Y Line Graph)
Example: Graph the 22 data points listed in the file
"polar.dat", included with ZGRAFWIN. Since
data in this file is in polar format, each
line of data in the file is of the form:
[r] [theta] [symbol] ,
where [r] and [theta] are the standard polar
radius and angle (in rads) identifiers, and
[symbol] is the symbol to be displayed (="*").
1. Use the ZGRAFWIN editor to look at the
"polar.dat" file (select "Editor" under
the "Options" menu to bring up the editor,
then "Open" to Open a File, and type in
"polar.dat"). The lines beginning with
"#" are command-lines and provide specific
graph information to ZGRAFWIN. For
example, there are commands to specify the
background, axis, and plot colors for the
graph.
There is also an "#OPTIONS" line. This
command allows the user to specify any of
several options for the graph. Here, to
inform ZGRAFWIN that data for this graph
is being entered in POLAR [not (x,y)
RECTANGULAR] format, the "POLAR" switch
is specified on the "#OPTIONS" line.
The last part of the file is just a list
of 22 data points.
2. When finished examining the file, select
"Load data file". When prompted for the
name of the data-file, type "polar.dat".
ZGRAFWIN should indicate that the 22
data-points were "Loaded OK".
3. Select "Generate polar graph" to draw the
graph.
-------------------------------------------------------------------------------
E. Log Graph
Description: Graphs up to 1000 (x,y) data-points (total)
taken from a data-file, in a similar format to
that used in the X/Y line graphs discussed
earlier, but on a logarithmic-type grid.
Notes: (See X/Y Line Graph for description of data-
file formats).
Three styles of logarithmic graphs may be
constructed:
1. Linear X, Log Y
2. Linear Y, Log X
3. Log X, Log Y
For the log scales, it is required that:
1. All data coordinates be > 0.0.
2. The ratio of largest to smallest
coordinates in the graph must not
exceed 10^5.
Example: Given the data-points:
(1.0, 1.0),
THIS EXAMPLE WILL NOT WORK ! -> (2.0, 100.0),
(3.0, 1000.0),
(4.0, 1000000.0)
one could create a log-log graph using
only the first 3 data-points, because
if the 4th data-point were included,
the y-coordinate ratio would be 10^6 /
1.0 = 10^6, which exceeds the maximum
allowable ratio (10^5).
Example: Display two groups of data on a log-log graph;
plot the first group of data using plus (+)
symbols, the second group using "oh" (o's).
The first group of data is: (1,8), (10,80),
(100,800), and (1000,8000).
The second group is: (50,50), (500,500),
(5000,5000), and (50000,50000).
1. First create the data-file. Use an ASCII
editor to edit the file "log.dat", so that
it looks like this (notice that floating-
pt. values are used for the data points):
-------------------------------------------------------------------------------
! ************************
The "!" symbol in the 1st col. -> ! * Sample Log Graph. . .
indicates that these are com- ! ************************
ment lines.
The '#' symbol in 1st column -> #GRAPH_TYPE = LOG
denotes a command line. Here #OPTIONS = LOG_LOG ^ CONNECT ^
ZGRAFWIN is told that this is
a log graph, and we've chosen
the LOG_LOG ( log-X, log-Y )
format. The 2nd option says
that line-connection is turned
on, so that lines are drawn
between data points. Because
there are two options on one
line, each option is separated
with the carat "^" delimiter
(The delimiter's needed when
there are two or more words
or fields to separate).
The title of the graph is also -> #MAIN_TITLE = Sample Log Graph ^
provided. The carat symbol is
used to indicate the end of
the string here also (Since
titles may contain whitespace
between words, a space is not
used as the delimiter).
Next, set the background, -> #BKG_COLOR = 0
axis, and plot colors to black #AXIS_COLOR = 12
(color 0), bright red (color #PLOT_COLOR = 13
12), and bright magenta (color #FILL_COLORS = 13 ^ 14 ^
13), respectively. Two fill
colors (bright magenta and
bright yellow) are also listed.
See Note #2 in Part VI, Sect.
C, "Command Line Syntax",
about Fill Colors.
"#DATA" is an optional identi- -> #DATA
fier to indicate that the 1.0 8.0 +
8 data-points now follow. 10.0 80.0 +
100.0 800.0 +
Note: For more details on 1000.0 8000.0 +
the "#" commands and options,
refer to Section VI, Part C. 50.0 50.0 o
500.0 500.0 o
5000.0 5000.0 o
50000.0 50000.0 o
When done editing the data file, return to
the Log Graph menu.
2. Under the "Log Graph" top heading, select
"Load data file". Type in "log.dat" as the
name of the file. The program should
indicate 8 data-points were "Loaded OK".
3. Select "Generate log graph" to draw the graph.
-------------------------------------------------------------------------------
F. Bar Graph
Description: Allows the user to make a bar graph, of up to 3
separate groups of bars.
Notes: The total number of bars in the graph must not
exceed 30. The number of bars is calculated
from the formula:
(# Bars, = (# Groups) x (# Samples per Group)
Total )
As an example, the program could handle 3 groups
of bars, with 10 samples in each group (30 bars
total), but not 2 groups of 16 samples each (32
bars total).
[Note: the term "sample" is used here somewhat
loosely; sampling in a statistical sense is not
necessarily implied...]
Options: 2-D or 3-D bars may be drawn; the fill-color
of each bar (group) may be chosen. Data may be
entered in manually as in Example #1 below,
or taken from a data file as in Example #2.
Automatic or manual scaling may be used to
determine the range of bar heights on the y-axis.
Example #1: Create a 3-D Bargraph entitled "Average Rainfall
(in.), Jan-May", for 3 cities, using the follow-
ing rainfall data:
Chicago:
Jan.: 18, Feb.: 25, Mar.: 30, Apr: 40, May: 35.
New York:
Jan.: 22, Feb.: 33, Mar.: 20, Apr: 11, May: 20.
Seattle:
Jan.: 58, Feb.: 72, Mar.: 40, Apr: 35, May: 25.
1. For this example, there are three groups of
bars (1 bar group for each city), and there
are five samples in each group. Select "Bar
groups", and enter "3"; select "Number of
samples/group" and enter "5".
2. Select "Enter data" and manually enter the
15 rainfall quantities into the first 15
cells on the form entry screen. We enter
the first sample for the first group
(Chicago), then the first sample for the
second group (New York), then the first
sample for the third group (Seattle). Then
we enter the second samples for the first,
second, and third groups, respectively,
-------------------------------------------------------------------------------
etc. [Tab] may be used to move from one
field to the next on this screen. So type
in:
"18.0 [Tab] 22.0 [Tab] 58.0 [Tab]
25.0 [Tab] 33.0 [Tab] 72.0 [Tab]
30.0 [Tab] 20.0 [Tab] 40.0 [Tab]
40.0 [Tab] 11.0 [Tab] 35.0 [Tab]
35.0 [Tab] 20.0 [Tab] 25.0 [Tab]".
Then select the "OK" button.
3. Select "Item titles" and enter the five
individual sample descriptions, i.e., "Jan.
[Enter] Feb. [Enter] Mar. [Enter] Apr.
[Enter] May [Enter]".
4. Select "Legend titles", and type in the 3
group legend titles, i.e., "Chicago", "New
York", "Seattle" (press [Enter] after each).
5. Select "Title", then "Main Title", then
enter "Average Rainfall (in.), Jan-May".
6. Select "Style", then "3-D Bars".
7. Press "Generate bargraph" to draw the graph.
8. To experiment, you may want to try selecting
different bar fill-colors, and re-generating
the graph. By the way, each unique fill-
color corresponds to the color of an indiv-
idual bar group in the set.
Example #2: Create the same graph demonstrated above, but
use the input data from the data-file "bar.dat"
[This file contains the same data which was
entered manually in Example #1].
1. Use an editor (e.g., the ZGRAFWIN editor)
to edit the file "bar.dat". We'll examine
in detail the commands present in this file
(listed here for convenience):
-------------------------------------------------------------------------------
Indicate the Type of Graph -> #GRAPH_TYPE = BAR_GRAPH
Indicate the Number of Bar -> #NUMBER_OF_GROUPS = 3
Groups and Samples in the #NUMBER_OF_SAMPLES = 5
bar graph.
Specify the various graph -> #DRAW_COLOR = 15
Colors and Fill Colors-- #BKG_COLOR = 0
if not specified here, the #FILL_COLORS = 12 ^ 13 ^ 14 ^
current values for these
parameters in memory will
be used. There are 3 bar
groups, so 3 fill-colors
are used. Bright red (12)
is used in the 1st bar
group, Bright magenta (13)
in the 2nd, and Yellow
(14) is used in the third.
We use a bright-white
border (15), and a black
(0) background color.
Provide legend, item, and -> #MAIN_TITLE = Av. Rain., Jan-May^
main graph titles. There #LEGEND_TITLES = Chic.^ NY ^Seattle^
are 3 group legends and 5 #ITEM_TITLES = Jan^Feb^Mar^Apr^May^
item samples (words are
abbreviated in the titles
here to allow lines to fit
on this page, but the file
uses the complete strings).
Indicate that a 3-D [not a -> #OPTIONS = 3D ^ AUTO ^
2-D graph] will be drawn.
Use automatic [not manual,
user-specified] bar-height
scaling.
Finally, list the data to -> #DATA
appear in the graph. Note 18.0 22.0 58.0
that each row corresponds 25.0 33.0 72.0
to the data for 1 sample, 30.0 20.0 40.0
listing the rainfall for 40.0 11.0 35.0
Chicago, New York, and 35.0 20.0 25.0
Seattle, respectively.
2. After editing is complete, select "Load data
file", and type in "bar.dat". Program will
indicate that data for 3 groups of bars, and
5 samples per group was loaded.
3. Press "Generate bargraph" to draw the graph.
Note: The Miscellaneous section, part C, provides
complete details on input data-file formats for
bar graphs, covering formats for one, two, and
three groups of data. For simplicity, that
information is not discussed in detail here..
-------------------------------------------------------------------------------
G. Pie Graph
Description: Allows the user to construct a pie graph.
Notes: The Maximum Number of Slices in the Pie is 10.
Data is averaged, so the total of the slice
magnitudes need not necessarily add up to 100
(i.e., 100 percent).
Options: 2-D and 3-D pies may be drawn. Fill-colors may
be selected for each slice in the pie, or a
different "cross-hatch" pattern can be used to
identify each slice. Input data may be entered
manually (as in the example, below), or taken
from a data file (see the Miscellaneous section,
part C, for pie graph input data-file formats).
The file "pie.dat" contains the input data for
this example, if you'd like to try loading a
data-file instead of entering the data-values
in manually.
Example: Create a 3-D Pie Graph entitled "Grain Sales, by
Percent" with the following data: Wheat: 30,
Corn: 25, Soy: 20, Rice: 10, Other: 15.
1. Select "Number of slices" and enter "5".
2. Select "Enter data" and enter the five
percentages in floating-point format, i.e.,
"30.0 [Tab] 25.0 [Tab] 20.0 [Tab] 10.0 [Tab]
15.0 [Tab]", into the first 5 cells of the
form.
3. Select "Style", then "3-D".
4. Select "Title" and enter "Grain Sales by
Percent" as the main title.
5. Select "Item titles" and enter the five item
descriptions, i.e., "Wheat [Enter] Corn
[Enter] Soy [Enter] Rice [Enter] Other
[Enter]".
6. Select "Generate piegraph" to draw the graph.
Notes: Radius Adjustment
When printing a pie graph (printing is
explained in Section V), you may find it
desirable to adjust the radius of the pie,
to produce a smaller/larger pie circle. Any
floating pt. value between 0.1 and 10.0 may
be used. 5.0 represents a default radius
value, which may/may not be appropriate for
your printer...
-------------------------------------------------------------------------------
H. Area Graph
Description: Graphs up to 1000 (x,y) data-points (total)
taken from a data-file, as "area" curves,
displaying a user-defined symbol at each data
point. By using different symbols, multiple
"groups" of data may be displayed on a single
X/Y graph grid.
Notes: This graph is much like the X/Y line graph,
except that instead of showing lines, this graph
shows "area" regions bounded by the data points.
The data point specification format is the same
as that for the xy-line graph: each (x,y)
coordinate must be entered on its own line in
the data-file, and the symbol to be displayed
must follow the y- coordinate on the line. Each
"group" of data should have a unique symbol
associated with it.
Again, it is extremely important to list the
data-points in the file sequentially--order the
data groups themselves (from smallest to largest
in terms of the y-coordinates), and order the
data within each group (starting with the
smallest x-coord., and ending with the largest
x-coord.), as in the example below. Otherwise
this graph will look like a mess, with "fill"
colors splashed everywhere!
Options: Separate fill colors for each individual data
region may be selected. Symbols themselves can
be shown or hidden; you may use the "Symbol
display toggle" option to control this
operation.
Example #1: It is desired to display five groups of (x, y)
data on a graph, and identify the individual
groups with the symbols "A" through "E". To
make things easier, we'll use the same data as
that used earlier for the x/y line graph.
1. Create the data-file. Use an ASCII editor
to edit a file "area.dat", containing the
data points and symbols. Since the data
here is identical with that used in the x/y-
line graph example, one could edit the data
file for that graph, but for convenience you
can just use the "area.dat" file included
with ZGRAFWIN -- it already has appropriate
titles and graph colors specified in it...
At this point most of the commands in the
-------------------------------------------------------------------------------
data file should be familiar. The only
statement which might have you wondering is
the line:
#OPTIONS = NO_SYMBOLS
This just means that graph symbols will not
be displayed on the graph at each data
point, (this is the default option, but it
won't hurt to list it). If we DID want to
see the symbols we could use:
#OPTIONS = SYMBOLS .
Also, you may have noticed that we got away
without using the underscores on some of the
commands and identifiers--e.g., we were able
to say "AXIS COLOR" instead of "AXIS_COLOR",
etc. This works because ZGRAFWIN's data-
file parser scans each line looking for
certain unique "tokens" (in this case
"AXIS", not the full "AXIS_COLOR" is the
token). Thus, it is possible to use
alternate, more "English-language-like"
versions of some of the commands. And don't
worry. If you DO happen to specify an
illegal expression on a line, ZGRAFWIN will
let you know about it. The program will
stop and display the offending token and
line number in the data file, so you can go
back and correct the error...
2. Under the "Area" top heading, select "Load
data file". When prompted for the name of
the data-file, type "area.dat". The program
should indicate that 30 data-points were
"Loaded OK".
3. Select "Generate area graph" to draw the
graph. Again, you may want to experiment by
changing fill colors, which will change the
colors of individual area regions.
Example #2: For this example, we'll create an area graph
using a function F(X), and demonstrate how a
function can be used to supply "input" data for
a graph. . .
1. Create the function graph "F(X) = sin(X)/X",
as in the F-2D graph example...
2. Move over to the Area graph menu, and
select "Generate area graph". Since no new
file was loaded, the data currently in
memory from the F(X) = sin(X)/X graph is
utilized. What's drawn is the F(X) =
sin(X)/X curve, as a bounded area region...
-------------------------------------------------------------------------------
3. Each individual data point evaluated by the
function is now displayed as an asterisk--if
you don't want to display these data points,
just toggle the symbol display off, and
regenerate the graph...
Note: It is possible to "pipe" the input data
calculated via a function/expression to
another graph (as was done in this example)
in the case of the X/Y line, Log, Polar, and
Area graphs. It is also possible to read a
data file in for one type of graph, and then
graph it (by selecting "Generate [graph
type]") on another menu. This last variation
could well result in unpredictable program
behaviour, though, if not done
intelligently. E.g., if data for an XY
graph is used to generate a pie graph, a
silly-looking pie will be drawn.
-------------------------------------------------------------------------------
V. PRINTING GRAPHS
Graphs may be printed by selecting the "Print graph" option (the
last item on each graph pull-down menu). Note that one should
first generate the graph on the screen (with "Generate [graph
type]") prior to printing it using "Print [graph type]".
Two different print-modes are supported in ZGRAFWIN--Screen
Printing and Direct-GDI Printing. Screen-printing, as the title
suggests, takes a bit-mapped "picture" of the screen, and sends it
to the printer. Direct-GDI printing involves directing the
Windows' Graphics-Device-Interface (GDI) calls (i.e., the function-
calls used to create a graph) directly to the printer driver.
There are advantages and disadvantages to each style of printing...
The screen-print format is generally faster (because Windows can
use a "banding" technique to print the data), but it may not always
produce elegant-looking output, especially if Windows has to scale
the bit-mapped image significantly to meet the dimensions of the
printed page. The direct-GDI call approach is slower, but can take
advantage of the full pixel-resolution of the printer, and often
produces more professional-looking output.
Print settings may be selected under the "Options" menu. Briefly,
the options available are:
1. Area to Print (Selects Region of the Window to Print--
This Applies for Screen-Print Modes Only -- See Item #2,
Below):
Whole Window - Prints Window Interior (Client Area) Plus
Window Caption, Window Border, etc.
Client Area - Prints Window Interior (Client Area) Only.
2. Type of Print (Selects Screen-Print Mode or Direct-GDI
Mode, and allows specification of scaling for Screen-Print
modes):
Best-Fit - This type of Screen-Printing forces the
horizontal dimension of the printed image to
full-page width, with the vertical dimension
set to maintain the proper aspect ratio. This
scaling mode is best for printing graphs
utilizing circles, e.g., polar and pie graphs.
Full-Page - This Screen-Print mode attempts to scale the
output to cover approximately the whole printed
page.
1X-2X-3X - This Screen-Print mode either uses no scaling
(the same image pixel height and width on the
screen are used in the printed output), OR it
scales by exact multiples (2, 3, 4, etc.) of
the screeen pixel height and width, as
necessary to cover as much as the page as
possible. This setting is best for graphs with
-------------------------------------------------------------------------------
a lot of "fine detail", where the aspect ratio
isn't critical...
Direct-GDI - This mode does not use "screen-printing", but
sends Windows' GDI commands directly to the
printer driver.
3. Output Color Format (Adjusts Graph for Printing of Color or
Black-and-White Output):
Color - This selection prints the colors and fill areas as
shown on the screen.
Blk-and-Wht - If this selection is chosen, graph entities (axis,
plot, background colors, fill-colors, etc.) will
be adjusted or converted to appropriate settings
that are visible for black-and-white printed
output, immediately before the graph is printed.
For example, color "solid" fills will be converted
to "hatch" fills on the pie, bar, and area graphs,
so that they will be visible in black-and-white...
You are encouraged to experiment with these print setup options as
necessary to produce good results. You may wish to use the
"Direct-GDI" print-mode most of the time. Because of speed
and memory-usage considerations, however, the screen-print mode is
recommended for printing G-3D graphs.
You may find it useful to experiment with print options for your
specific print driver under the Windows Control Panel also. For
example, I prefer to use "landscape" orientation when printing
graphs on 8.5 x 11-inch paper on my 8-pin dot-matrix printer, using
the IBM Proprinters driver. My graphs come out looking better
using the "Direct-GDI" print-format with this type of orientation.
By the way, instead of using "Print [graph type]", you can also do
a "screen print" of the window at any time (by selecting "Print
window" on the "Options" menu).
Once you start the print operation, a "Preparing for Print" dialog
box will appear onscreen, with a "Cancel" button to abort printing.
After the dialog box goes away, the Print Manager will take over
and handle the rest of the job. At this point, you may click on
the Print Manager icon and select "Abort" to halt printing...
*******************************************************************
** **
** WHAT TO DO IF YOU ARE UNABLE TO PRINT... **
** **
*******************************************************************
If printing doesn't work, check your "WIN.INI" file in the
directory where Windows was installed (e.g., "\WINDOWS") for proper
printer-setup information, as explained in the next sections...
-------------------------------------------------------------------------------
In examining WIN.INI, printers are listed in two or three different
sections--the [windows] section, and later in the [PrinterPorts]
and/or [devices] section. For ZGRAFWIN printing to operate, you
need to have a string with your printer device name, driver name,
and the output port listed in the first [windows] section of the
file, like this:
[windows]
[other lines here...]
device=IBM Graphics,IBMGRX,LPT1:
In this case, the device name is IBM Graphics, the driver name is
IBMGRX, and the output port is LPT1. If you're unsure of
appropriate device/driver/port selections, you can get some ideas
by looking in the [PrinterPorts] or [devices] section of WIN.INI.
Make sure that the driver-file exists (e.g, in this case, there
must be a "IBMGRX.DRV" file in the \WINDOWS\SYSTEM directory) and
the output port is operational on your computer.
If your WIN.INI file does not have the right driver/port/etc.,
you'll need to edit it so that it contains the correct information.
┌-------------------------------------------------------------------┐
| IMPORTANT: PLEASE MAKE A COPY OF YOUR ORIGINAL "WIN.INI" FILE |
| before making changes to it--if something goes wrong |
| you'll need a backup in order to run Windows! |
└-------------------------------------------------------------------┘
After editing, save the file and return to Windows. If printing
still doesn't work, check that your printer is hooked up properly,
and ensure that it is online/ready-to-print. If problems persist,
you may need to re-install and/or reconfigure your printer setup
(see your Microsoft Windows documentation for more information).
Example: Create and Print a Bar Graph.
1. Create the bar graph given in Sect. IV, part F. Select
"Style", then "Single-color graph", and generate the graph.
2. When the graph is displayed onscreen, select "Print bar
graph". If your settings in "WIN.INI" are correct and
your printer is ready to go (as discussed above), the graph
should start printing after a few seconds...
-------------------------------------------------------------------------------
VI. MISCELLANEOUS
A. Math Functions and Syntax
The following are legal math functions for this program:
ABS() -- absolute value
ACOS() -- arc cosine
ASIN() -- arc sine
ATAN() -- arc tangent
COSH() -- hyperbolic cosine
COS() -- cosine
EXP() -- e (= 2.7182) raised to the () power
LOG10() -- common logarithm (base 10)
LOG() -- natural logarithm (base e)
POW10() -- ten raised to the () power
SINH() -- hyperbolic sine
SIN() -- sine
SQRT() -- square root
SQR() -- square, i.e., () raised to 2nd power
TANH() -- hyperbolic tangent
TAN() -- tangent
The following operators are valid in functions:
+ Addition - Subtraction
* Multiplication / Division
^ To the Power, e.g., 5^3 = 125 () Parenthesis
These functions and operators may be used in either the F-2D
and G-3D expressions, to represent mathematical formulae,
with results calculated in double-precision.
Functions must be entered using proper algebraic syntax, or
ZGRAFWIN's function parser will indicate an error ("Syntax
Error" will be displayed). An example of some legal and
illegal ZGRAFWIN functions now follows:
Sample F-2D functions/expressions:
1. 5.0 <- OK (graph = constant)
2. sin(x) <- OK (trigonometric)
3. tan(x) / x + 2.6 <- OK (trig., x non-zero)
4. 17.0 + x*(-3.0 + x*(-1.0 + 2.0*(x))) <- OK (polynomial)
5. 3*x + 2*y - 15.0 <- OK (line)
6. x*x + y*y - 25.0 <- OK (circle)
7. sin(P)/cos(x) <- Illegal (the symbol
'P' is not defined)
8. sin(2.0 * x + (3.0 * x) <- Illegal (Parenthesis
imbalance)
9. 3.0 * x + 5.0 = 8.0 <- Illegal ('=' symbol
not allowed)
-------------------------------------------------------------------------------
Sample G-3D functions:
1. 3.0 <- OK (plane)
2. X - 5.0 <- OK (plane)
3. sin(X * Y * 0.05) <- OK (curved surface)
4. sqrt( X/Y ) <- OK (curved surface,
Y non-zero, | X/Y | > 0)
5. Z = exp(X) * sin(Y) <- Illegal ('=' and 'Z' are not
allowed)
Notes: If you enter an EXTREMELY complicated expression, you'll get
a parser stack error, but for most practical expressions/
functions there is no need to worry about even approaching
this stack limit...
A "Math Calculation Error" may result, usually due to
evaluation of a function at a singularity or at a value not
in the function domain, [e.g., evaluating F(X) = log(X) at X
= 0]. To fix the problem, change the interval over which
the function is to be graphed, so that discontinuities or
illegal domain values are avoided...
In some instances, it may be possible to graph a function
over a range which does include singularities--for example,
it is possible to graph F(X) = 1.0/X from -10.0 to 10.0,
using n = 100 data points (even though the function "blows
up" at X = 0). In this instance we are fortunate, because
don't have to evaluate the function PRECISELY at X = 0.
You'll note that the trace around X = 0 isn't very accurate!
B. Saving/Restoring Graphics Images
ZGRAFWIN supports the standard PCX graphics format. Images may
be imported into ZGRAFWIN ("Load PCX File" on the "Options"
menu) and/or saved to a file ("Save PCX File").
Monochrome, 16-color, and 256-color PCX images may be imported
into ZGRAFWIN. Using the scroll bars, images can be scrolled
up/ down and right/left as necessary to view even large PCX
images... ZGRAFWIN allows graphics images to be saved in
the 16-color PCX format.
In addition, there is an option allowing the user to copy the
graphics screen to the Windows Clipboard, for use with other
graphics software, e.g., the Windows Paintbrush program. This
feature is also on the "Options" menu.
-------------------------------------------------------------------------------
C. Data-File Input Formats
Numeric-Data Formats:
--------------------
ZGRAFWIN expects numeric data in a specified format for each of
the different graph categories. Input data must be in the
following format:
1. F-2D -- N/A
2. G-3D -- N/A
3. X/Y Line, Log, Area:
Each row in the file should have 3 entries, an
x-coordinate, a y-coordinate, and a symbol, separated
by whitespace. That is, each line should look like:
[x] [y] [symbol]
Here, the [x]- and [y]-coordinates are floating-point
numbers; [symbol] is an ASCII character.
4. Polar:
Each row in the file should have 3 entries--an
x-coordinate, a y-coordinate, and a symbol; alter-
natively, a radius, an angle, and a symbol may be used:
[x] [y] [symbol]
- OR -
[r] [theta] [symbol]
The [x]-, [y]-, [r]- and [theta]-values are all float-
point numbers; [theta] is in radians, and [symbol] is
an ASCII character.
5. Pie:
Each row in the data file should contain the size of an
individual sector in the pie (a floating-point number).
For [n] slices in the pie, there should be [n] data
lines in the data file, each of the form:
[Slice size]
where [Slice size] is a floating-pt. number.
-------------------------------------------------------------------------------
6. Bar:
The format of the data file depends upon the number of
bar groups in the graph, as follows (assuming there are
[n] data samples):
For 1 Group of Bars: [Sample 1]
[Sample 2]
[Sample 3]
.
.
.
[Sample n]
For 2 Groups: [Samp. 1, Group 1] [Samp. 1, Group 2]
[Samp. 2, Group 1] [Samp. 2, Group 2]
[Samp. 3, Group 1] [Samp. 3, Group 2]
. .
. .
. .
[Samp. n, Group 1] [Samp. n, Group 2]
3 Groups: [Samp 1/Gr 1] [Samp 1/Gr 2] [Samp 1/Gr 3]
[Samp 2/Gr 1] [Samp 2/Gr 2] [Samp 2/Gr 3]
[Samp 3/Gr 1] [Samp 3/Gr 2] [Samp 3/Gr 3]
. . .
. . .
. . .
[Samp n/Gr 1] [Samp n/Gr 2] [Samp n/Gr 3]
Note that there are as many rows in the file as there
are bar samples, and as many entries on each row as
there are bar groups (1-3).
Command-Line Syntax:
-------------------
The general syntax of a ZGRAFWIN data-file command line (i.e.,
a line which begins with "#") is:
#[COMMAND id] = [EXPRESSION] ,
where command identifiers and expression values represent the
legal identifiers and expressions for the different graphs, as
listed in the following chart:
-------------------------------------------------------------------------------
GRAPH
[COMMAND id] APPLICABILITY LEGAL [EXPRESSION] values
-------------------------------------------------------------
#GRAPH_TYPE All [See Item #1 Below]
#AXIS_COLOR XY/Polar/Log A Number, 0-15
#BKG_COLOR All A Number, 0-15
#DRAW_COLOR Bar/Pie/Area A Number, 0-15
#PIE_COLOR Pie A Number, 0-15
#FILL_COLORS XY/Log/Bar/Pie/Area [See Item #2 Below]
#FILL_PATTERNS ------- Not Yet Implemented -----------
#MAIN_TITLE All A String terminated by "^"
#HORIZ_TITLE XY/Log/Polar/Area A String terminated by "^"
#VERT_TITLE XY/Log/Polar/Area A String terminated by "^"
#LEGEND_TITLES Bar One or More Strings,
Each Delimited by "^"
#ITEM_TITLES Bar/Pie A String terminated by "^"
#DATA All [None Needed]
#NUMBER_OF_SAMPLES Bar A Number, 1 - ?
#NUMBER_OF_GROUPS Bar A Number, 1-3
#XMIN XY A Floating-Pt. Number
#XMAX XY A Floating-Pt. Number
#YMIN XY / Bar A Floating-Pt. Number
#YMAX XY / Bar A Floating-Pt. Number
#OPTIONS All [See Item #4 Below]
1. The #GRAPH_TYPE Command must appear in the data file,
and should be followed by one of the following graph
identifiers:
XY_GRAPH
POLAR_GRAPH
LOG_GRAPH
BAR_GRAPH
PIE_GRAPH
AREA_GRAPH
2. The #FILL_COLORS Command should be followed by an
expression listing the appropriate number of fill
colors for the graph, each separated by a carat ("^").
Each Fill Color should be in the range 0-15, where:
Black = 0 Gray = 8
Blue = 1 Bright Blue = 9
Green = 2 Bright Green = 10
Cyan = 3 Bright Cyan = 11
Red = 4 Bright Red = 12
Yellow = 5 Bright Yellow = 13
Brown = 6 Bright Brown = 14
White = 7 Bright White = 15
For example, the following command-line specifies
three fill colors as Blue (0), Green (2), and Cyan (3).
#FILL_COLORS = 1 ^ 2 ^ 3 ^
-------------------------------------------------------------------------------
For a bar graph, each fill color corresponds to the
color of an individual bar group. For pie and area
graphs, each fill color corresponds to an individual
pie slice or area region in the graph. For an XY- or
Log-style graph, the first data group is drawn using
the plot_color, but (for multiple data groups) the
individual data groups after the first are drawn using
the fill-colors. For example, for a log graph with 5
groups of data, data group #1 would be drawn with the
plot color, and groups #2 - #5 would be drawn using the
second thru fifth fill-colors, respectively.
3. The #OPTIONS command should be followed by a list of
appropriate options switches, each of which is
separated by a carat ("^"). Legal Options Switches
are:
CONNECT - Forces Line Connect Display ON
NO_CONNECT - Forces Line Connect Display OFF
SYMBOLS - Forces Symbol Display ON
NO_SYMBOLS - Forces Symbol Display OFF
for Polar -> POLAR - Specifies POLAR input data format
Graphs Only -> RECTANGULAR - Specifies RECTANGULAR input format
GRID - Forces Grid Display ON
NO_GRID - Forces Grid Display OFF
for Log -> LOG_X - Specifies a Log X, Linear Y Graph
Graphs -> LOG_Y - Specifies a Log Y, Linear X Graph
Only -> LOG_LOG - Specifies a Log X, Log Y Graph
for Pie and -> 2D - Specifies a 2-Dimensional Graph
Bar Graphs -> 3D - Specifies a 3-Dimensional Graph
Only
for X/Y and -> MANUAL - Manual Scaling (user enters the X-
Bar Graphs and/or the Y- axis ranges)
Only -> AUTOMATIC - Automatic Scaling (default)
Example: For a Polar Graph, the Following #OPTIONS Line Forces
the Input Data to POLAR format, turns the Line-Connect
feature ON, and turns the Grid Display feature ON:
#OPTIONS = POLAR ^ CONNECT ^ GRID ^
-------------------------------------------------------------------------------
Note that all commands and expressions are upper-case. Since a
"minimal" token-parsing technique is used, shortened versions or
alternate versions of both the [COMMAND id] and [EXPRESSION]
identifiers may be utilized in many cases. For example, the
following command lines are all equivalent:
#GRAPH_TYPE = BAR_GRAPH
#GRAPH TYPE = BAR GRAPH
#GRAPH = BAR GRAPH
#GRAPH = BAR
An invalid command line will be rejected by the parser, and an
error message will displayed, showing the invalid token and line
number in the file...
D. ZGRAFWIN Editor
ZGRAFWIN has a built-in editor, to assist in viewing and editing
small-to-medium-size ASCII files (less than 20K bytes). The editor
is under the "Options" menu. The selections are fairly
straightforward, and parallel those used in other Windows programs;
thus, only a brief command summary will be given. The basic
options are:
New -- Clears the Edit Workspace.
Open -- Opens A New File For Editing in the Workspace
Save -- Saves A File from the Workspace to Disk
Save As -- Saves A File, Prompting for User-entered File Name
Exit Editor -- Leaves Editor and Returns to Main ZGRAFWIN Program
The editor's range of "word-processing" features is fairly limited,
but there are basic options to cut, copy, and paste to/from the
clipboard, etc., as in other Windows file-processing applications.
E. Adding Custom Text to Graphs
ZGRAFWIN has a feature which makes it possible to add customized
text, labels, etc. to a graph. Up to 30 separate strings, each up
to 80 characters in length may be located anywhere on a graph,
displayed in your choice of color and text styles...
Custom text is added to a graph using the "Text" menu options.
Before entering the text, the foreground and background color of
the text as well as any text style options (including text font,
text size settings, etc.) should be selected.
Once text attributes are established, select "Enter text string" to
enter the actual text you wish to add to the graph. After typing
in the text, ZGRAFWIN will direct you to position the mouse cursor
at the location onscreen where the text is to be placed. When you
click the mouse button, the text is shown in the window, and is
locked in position. Now whenever you regenerate a graph (with
"Generate [graph type])", these custom text strings will be added
-------------------------------------------------------------------------------
onto the screen at their appropriate positions. Custom text
strings will also be printed (superimposed on the graph), if you
print a graph...
If you make a mistake, you can successively delete ("undo") the
most recently entered text strings one-by-one, using "Delete last
string", or clear all text strings entered from the window at once
with "Delete All text". Note: the process of deleting a text
string "invalidates" the data in the window--the display is
cleared. Just "regenerate" your graph again, to see the new
changes reflected on the screen...
Note: If you choose to print a graph with text-strings, it is best
to use a screen-print mode (see section V, "Printing"), to
ensure that the strings are printed in the correct
locations. If the Direct-GDI mode is used to print, the
text strings may be located a bit erratically on the printed
page, because of resolution differences between the screen
and the printed output. With some extra effort and
trial-and-error, however, the Direct-GDI mode may be used.
VII. FILES INCLUDED ON DISK
The following files are part of this package:
ZGRAFWIN.EXE - ZGRAFWIN Main Windows Executable Program
ZGRAFWIN.HLP - ZGRAFWIN Online Help File
ZGRAFWIN.DOC - ZGRAFWIN User Instructions (this file)
XY.DAT - Sample data-file for Discrete X/Y graph
LOG.DAT - Sample data-file for Log graph
AREA.DAT - Sample data-file for Area graph
POLAR.DAT - Sample data-file for Polar graph
BAR.DAT - Sample data-file for Bar graph
PIE.DAT - Sample data-file for Pie graph
WHATS.NEW - History, Improvements to ZGRAFWIN
DEMO.EXE - ZGRAFWIN Demonstration Program
VIII. REGISTRATION
If you have any comments or suggestions regarding this program,
please feel free to contact me. If you have found this program
useful, a registration fee of $15 (or an amount you feel
appropriate) would be greatly appreciated. You may use the
registration/user-response form below, or one of your own. For $10
more, an attractive spiral-bound, illustrated ZGRAFWIN program
manual is available also...
By registering ZGRAFWIN you will gain access to upcoming program
news and information. Also, if you register now, you will be
entitled to two free program updates, when they become available.
Even if you don't want to register, I'm still interested in any
comments/feedback you might have regarding the program--including
information on any problems you've had using the program and
general information on how I might improve things. Please direct
correspondence to:
-------------------------------------------------------------------------------
John Jakob, ZGRAFWIN Software
1831 Old Hickory Court
New Albany, IN 47150
Phone: (812) 949-9524 (h)
(812) 944-3865 (w)
Important Notes:
1. If you work in a non-profit agency, charitable/humanitarian
organization, ministry, etc., or for some reason are unable
to afford the $15 registration fee, you may register
ZGRAFWIN for yourself/your organization free of charge.
However, please do write and let me know you want to
register, so I can put your name and/or organization on my
mailing list. Thanks!
2. If you're a software developer/programmer and would be
interested in utilizing/modifying ZGRAFWIN graphics for use
in your own (MS-Windows 3.0) programs, you may purchase
source code (Borland C++) and/or a Windows Dynamic-Link-
Library (DLL) with the graphics functions for a reasonable
price. Contact me for details...
┌--------------------------------------------------------------------┐
| ZGRAF/ZGRAFWIN REGISTRATION/USER RESPONSE FORM |
├--------------------------------------------------------------------┤
| |
| |
| Name: ____________________________________________ |
| |
| Address: ___________________________________________ |
| |
| City, State, ZIP:___________________________________ |
| |
| Country: ___________________________________________ |
| |
| |
| |
| Please Indicate _____ ZGRAFWIN Windows Registration $15 US |
| Your Choice(s): _____ ZGRAFWIN Documentation Manual $10 US |
| |
| _____ ZGRAF MS-DOS Registration $10 US |
| _____ ZGRAF Documentation Manual $10 US |
| |
| |
| To assist me in creating a better product for you, the user, |
| please answer the following questions: |
| |
| |
| 1. Where did you hear of the program (please be specific)? |
| ________________________________________________________ |
| ________________________________________________________ |
| |
| 2. What was your general impression of the program? What |
| features did you like? What did you dislike, or what |
| would you like to see added or improved? |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| |
| 3. Would you personally recommend ZGRAF or ZGRAFWIN for |
| another user? Why or why not? |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| |
| 4. Any Other General Comments: |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| ________________________________________________________ |
| |
| |
| Please Complete John Jakob, ZGRAF/ZGRAFWIN Software |
| and Mail To: 1831 Old Hickory Court |
| New Albany, IN 47150 |
| |
| |
├--------------------------------------------------------------------┤
| |
└--------------------------------------------------------------------┘