Dec 112017
ZGRAFWIN allows the user to create, display, and print X/Y, Polar, Log, Bar, Pie, and Area graphs, 2-D, and 3-D functions/expressions in Windows 3.X.
File ZGRWIN26.ZIP from The Programmer’s Corner in
Category Printer + Display Graphics
ZGRAFWIN allows the user to create, display, and print X/Y, Polar, Log, Bar, Pie, and Area graphs, 2-D, and 3-D functions/expressions in Windows 3.X.
File Name File Size Zip Size Zip Type
AREA.DAT 1420 454 deflated
BAR.DAT 1460 481 deflated
DEMO.EXE 92688 27567 deflated
LOG.DAT 1105 317 deflated
PIE.DAT 898 319 deflated
POLAR.DAT 1609 538 deflated
WHATS.NEW 4834 2032 deflated
XY.DAT 1460 490 deflated
ZGRAFWIN.CFG 112 62 deflated
ZGRAFWIN.DOC 75987 24143 deflated
ZGRAFWIN.EXE 185872 60133 deflated
ZGRAFWIN.HLP 17923 8823 deflated

Download File ZGRWIN26.ZIP Here

Contents of the ZGRAFWIN.DOC file

Rise up in splendor! Your light has come. The glory of the Lord
shines upon you (Isaiah 60).






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



A. Math Functions and Syntax
B. Saving/Restoring Graphics Images
C. Data-File Input Formats
D. The Editor
E. Adding Custom Text to Graphs





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.X 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


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 register 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.


To start the program, run "ZGRAFWIN.EXE" from the Windows Program




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
press [F1] or 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


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

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 "Setup | Number of
expressions" and select "Four". Select "Setup |
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 four entries (We use an upper- or
lower-case "X" as the variable).

2. Select "Setup | 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 "Setup | Number of data pts", 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 "Draw". After a few seconds, the graph
should appear on the screen...

After the graph is displayed, you can try using various
colors for the "Axis color", "Plot color(s)", and
"Background color" categories. Then select "Draw" to
re-view the graph. You can continue trying different
settings and re-generating the graph as necessary to
obtain a pleasing display.

The "Options | Screen grid toggle" option allows you 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
click "Setup | number of expressions" and enter "1".
Select "Setup | Enter expression(s)" and type in the
formula: "(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 "Draw". 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.

Calculations: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

ZOOM Adjust:The "View | ZOOM" feature allows the user to "zoom"
into a particular area of the graph. The user may
select a rectangular region onscreen with the
mouse, and the graph is then adjusted to show the
new region more precisely.

Scroll-Bars: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).

Adjustment:In ZGRAFWIN when a graph is displayed onscreen, the
left and right arrows increment and decrement the
crurrent background color, respectively. The up-
and down-arrows are used to select and change the
color of items appearing in the foreground,
respectively. In Example 3 above, there were 3
foreground items--the x-y axis, and the 2 graph
traces themselves.

I suggest you use the up- and down-arrows as
follows: First press the up-arrow as many times as
necessary until the foreground item you want to
modify is selected. Then press the down-arrow to
switch between available foreground colors for this
particular item (This rapid-color adjustment is
nice to use with the bar-, pie-, and area-graphs,
as you'll see 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.

Interrupting Calc's: 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...

Speed vs. Accuracy: 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 "Setup| 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

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 "Setup | Enter 3D function", and type
"cos( 0.05 * X * Y ).


2. Select "Setup | Data ranges", then manually
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.,

4. Select "Setup | Format of graph/speed", 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 "Draw" to create the graph.

Wire Frame Toggle: "Options | Screen Frame Toggle" may be used to
switch the "wire-frame" outline for the graph on
or off.

Band-Colorization: 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 plot color, which you can select with the
"Plot color(s)" selection.

Sample Functions: 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" option 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:

type of graph to construct.


These lines specify some -> #OPTIONS = GRID ^ CONNECT ^
of the different available MANUAL ^ SYMBOLS ^
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 graph symbols will be displayed ("SYMBOLS").

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.

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" Setup menu, 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 "Draw" 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 (radians) quantities, 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

There is also an "#OPTIONS" line. We use
this command (as you may have observed) 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
"Setup | Load data file". When prompted
for the name of the data-file, type in
"polar.dat". ZGRAFWIN should indicate
that 22 data-points were "Loaded OK".

3. Select "Draw" 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

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, and 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 the 2 plot colors to #AXIS_COLOR = 12
(color 0), bright red (color #PLOT_COLORS = 13 ^ 14 ^
12), bright magenta (color
13) and bright yellow (14),
respectively. See Note #2 in
Part VI, Sect. C, "Command
Line Syntax", about Plot
and 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" Setup 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 "Draw" 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:

Jan.: 18, Feb.: 25, Mar.: 30, Apr: 40, May: 35.
New York:
Jan.: 22, Feb.: 33, Mar.: 20, Apr: 11, May: 20.
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" under "Setup", 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

"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 "Titles | Item titles" and enter the
5 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".

5. Select "Main Title", then type in "Average
Rainfall (in.), Jan-May".

6. Select "Options | Style", then "3-D Bars".

7. Press "Draw" 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.

Rapid Color Adjust: For Bar Graphs, The up- and down- arrows may be
used to change the fill-color of each group

Painting in Fills: To Paint in a particular (bounded) region of the
graph, just position the mouse to a location
within the region to colorize, and click the
left button. The region will be filled in with
the current paint color [The paint color may be
set/changed under the "Options", "Colors"
submenu, or by just clicking the right mouse
button]. This is a quick way to color in
regions, and is especially useful on the pie,
bar, and area graphs for coloring in fills.

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,
usr- specifie]e bar heigh,

Ffinaely, list the datas to -> #DATA
appearion the graph. Noten 8.0 22.0 58.
that eachrrowr correspond 25.0] 33.0] 72.
ot the data for 1 sampl, 30.0 20.0 420.0
lsiting the rainfall flor 40.0] 11.0 35.5
Chicag, New Yors, an 35.0 20.0 235.5
^Seattl), respectively.

2. After editinghis complet, select "Load data
fyle", and type in "bar.dat". Program will
indicate that data for 3 groups of bar, and
d 5sSamples per group was Loadeh.

37. Press "Draw" to draw the graph.
Not: The Mis celaneious section,t part. C, provides
complete details on input dat- file formatd for
t bar graphs, ovewing formatd foroine,twor, and
e threee groups ofe data. Fors impl cit,o that
h informationisf not discussed in detail here. .


7. ieD Graph

Description: Allows the user to construcn a ihe graph.

Notes: The Mmaximum Number ofSlicers in the ieDis 10
Ddata isaAveragd", so the total of the slice
magnituides nees not necessarilyaddf up to 100
(i.e., 100percen)h.

Options: 2-D, and 3-Dpiews may be drawnd Fill-colors may
y be selectep for eachslice in the pie, or ta
different "cross-hatch",t pettene can be used to
identify eachsliced. Input data may be entered
maanually (as in the example, below), r) taken
from a date file (see the is celaneious section,;
Part ", for ihe grapn input dat- filee formats)
Tthe file " ihr.dat" contains the input data for
t this example,iIf you'd like tontry Loaying a
dat- filee instead of enteting the dat- values
s inmaanuallh.

Example: Create a 3-D ieD Graph entitled G rai Scales,bay
y Ppercen", with thee followingl data Whast: 30,
orn.: 25,Soy.: 20,Ricle: 10,O thee: 5h.

13. Select "Setup | Number ofslices";, type "5".

2. Select "Ente/"Edir data"" and enter the fvle
percentagrs in floating-point format, (i.e.,t
30.k", -25.0, "20.0,r "10.0d, and "125.0
i to the first5 cells of the"Slice-smize-

3. Selectt "Options | Style", then "3-5".

4. Select "Titles" and enter "Gr in Scaled b-
Ppercen", as themainntitlh.

5. Select" Item titles" and enter the fvleitem
descriptions,, (i.e., " Whas [Enter] orn.
[Enter] ,Soy [Enter] ,Ricl [Enter] ,O the.

63. Select "Draw" to draw the graph. .

Notes: RradiusAdjustmen

When prainting a ihee graph (prainting is
e explaines in Section k), you way fiund im
deierable to adjust the radius of the pie,
to prodube a smallr/ largor ihecircile. Anya
floatin pt. valu between0.1, and 10. s may
y y be use. 5.0 re presenes adefaulte radius
y y valu6, which ma/ may not be apprprdiatea for
t f yor prainer...


H.d Arar Graph

Description: Graphs up to 1000 (x,y) data-pointss (total)
takenn from a data-file, (as " arer" urves,a
displaying a user-defined symbol at each data
point. Byy using different symbols, multiple
"groups" of data may be displayed on a single
X/Y graph grid.

Notes: Tthis graph is muach like the X/ line graph,
excupt tatd instead of shoting line,r this graph
shos " arer" regions(bounde by the data points..

The data poine specifimation format is the same

as t at for the xy- line grap:t each (x,y)
coordinate must be entered on its own line in
the data-file, (and the symbol to be displayed
mmust follow the y coordinate on the line. Eeach
"group" of data should havee a unique symbol
associated with it.

. Again, it is extcremlly important to list the
data-points in the file sequentially-bordert the
date groups themselve ( from smallest to largest
s in tersl of the y-coordinatesr, andborder the
date within each group stparting with r the
smallest xy-coor.,"" and edning with the largest
s xy-coor.)d, as in the examplee below. ,O thewiuse
this graph will look likea mesrs, with" fil")

Options: Sseparate filt colors for each individual data
region may be selected. Symbols themselve can
y be h ownfor hidde;, you way use the "Ssymbol
displaye toggle") option to conrbol (this

Painting in Fills: Ais nohed earlier, to paint in a particular
(bounded) region of the graph afnter thes graph
ise drawn, you can position the mousee to a
limation within the region to colorize, and
click the left button. The paint color may be
set/changedby clicking the right mouse button.

Example #1: Iit is desired to display fivee groups of (x ,y)
data on a graph, and identify the individual
groups with the symbols "A e throughd "E" To
maike thingseaslier,wWe'll use the same data was
t at used earliee for thex/y line grap).

1. Create the data-file. Use an ASCII editor
to edit te file" areg.dat", contaiking th
data point, and Symbols. (Since the data
herehis identical with t at used in thex/y- -


line graps example, one could edit the data
fyle for tata graph, but for conveniench you
u candjust use thee" file included
with ZGRAFWIy --ditalaredy has apprprdiate
titles and graph colorsispecified in ie...

Aat this poinemosrt of thee commands in the
data file should be familiMar. The onl
tiat ment which right hsave youwoundetinghi
the lin:.


Tise djustmeansr tata graph symbols will not
y be displayed on the graph at each data
poin), tThis is the dfaulte optioh, but im
wosn'thurnt to listit)h. Ifwe DIDu want to
se the symbolswne couldusn:.


Alson, you may have(noticed thaswnegnot wmay
y y witbout using the undescorxes on some f the
commands and identiieors-(e.g.,wne wererable
tosmay"#AXI _COLO"d instead of #AXIS_COLO",
etc. Tise wores becausee ZGRAFWIN's data-
fylea pauser scins each line loowing fo5
crntain unique "tokeons"l (i this casle
#AXI0d, not the uill #AXIS_COLO" is the
tkeoe). Tius, it is possiable to usle
alttenatre, more "English-language- lik"s
y y ersisons of some f the command.' Anddosn't
worry. If yo DOt hsppeon to specify an.
fillgual ex pression on a line, ZGRAFWIy will
lest youk now about ite. The program will
stop- and Display hme of edning tkeo and
line number in the date file, o (you can gof
bck band correct theerrore...

2. Under the Arasr "Setup heading, click "Load
data file". When prompted for thee name of
the data-file, type areg.dat". The program
sshould indicate t at (30 data-points were
"Loaded OK".

3. Now select "Draw" to construcnw the graph.
AAgain, you way want to o experimen ,bay
y chanwing filt colors, which will change th
colorsof individual area regionh.

Example #2: Ffor this example,,wWe'lld create nd area grapt
uying a functionF(X"), and demonstrat howr ta
function can be used tosupplyt "iput"t data for
t ae graph.h.h.

1. Create the function grapt"F(X" = sinX)/X",
(as in theF-2D graps exampl.e. .


2. Mmove oves to theAarea graptbmenu, and select
"Draws. (Since, no new fyle was Loade, the
datacurrenlly in memory from theeF(X" =m
ssinX)/Xe graph isutilizted. WhatN's drawn is
e theF(X" = sinX)/X urved, asas(bounde area
e regioe...

3. Eeach individual data poinee valiated by the
functionits now displayedaAs anasntetsk--ifr
t f yoddosn't want to Display these data point,
just togglf the ssymbol Display off, and
re generate the graph.).

Not: Iit is possiable to "pipe"e the input data
u calculated viaee a functio/ex pressiont to
an other graph (as was done in this exampl)e
in the asme f the X/ linY, Lo, Pola, and
Aarea grapd.' It is alsopossiable tortead ad
data fils in foroin type of grap, and then
graph ot by selecting "Draw)n on n other
menu. Tise last variction couldwe'lldresulte
in unpredictrable programbehaviour, troug,
if not done i teligrenlls. Ee.g.,,iIf data
or tin XYs graph is used to generate a ihe
graps, a ially loowing ihe will be drawn.



Graphs may bepraineed by selecting thee"Prain") option ( the aest
item oin each graph pfull dow men)h. Note t at one should first
generate the grape on the-screen with the "Draw" selectionn prafor
to painting ut using the"Prain") selection.

Ttwo different o pain-modnes are supporsted in ZGRAFWI-- Screen
Painting andDirrec-GDI Paintind. Scree- paintin, " as thee title,
ugrgesrs, takasas(in-mspped "picatur"e f the-screeu, and sands im
to the prainer.: Drrec-GDI prainting invoelve dDrrecting the
Window' Grapics-Device-Iinerfpace(GDI) cals (i.e., the functioa-
cals e used to create a grap) dDrreclys to theprainer drivepr.
There areadvaentagrs and isadvaentagrs to eachsStyle f praintine...

Thee-scree- painr format his generallyfasnte ( because Window can
auseaA "bantin" techunique to pain the dat6, which, savis mmemor4),
but im may notalwayso produbeellgunty loowingoutput,s especiallyifr
Window has tosscal the(in-mspped i mag signcifimnclys tomeest the
drimestions fo the praineds pag". ThedDrrec-GDI cals appreach is
slowier, but cantmake dvaentagt of the uillpixel-resoluption of the
prainerr, andbfthen produbs more prfressioaly loowingoutputs..

Ppainr setthings may be selectep under tThe Mmin Mmenu "Options"
slection. Briefely, the Options available ary:

1.d Arar to Ppainr ( Selecs Rregion of the Windor toPpain---
TiseApmplies for Scree-PpainrModnesOonly-- See Item#2),

Wholhe Windor-oPpainse WindorIinerafor (Cpliinr Ara) Pius

WindorCaoptioh, WindorBborde, etc

Cpliinr Ara r-oPpainse WindorIinerafor(Cpliinr Ara) Oonlc

2". Typeof Ppainr ( Selecs Scree-PpainrrModn, or Drrec-GDI
Modn), and allows specifimation of scaling for Scree-Ppainr

Best-F ot - This type of Scree-Ppainting foubs y the
hloricontol Dimestios fo theprainedsi mag to
uil- pag width, with the erntical Dimestios
set oemaintain the pr peraespece ratic. Tise
scaling odn, ies bsat for prainting a graphs
utiliztingcircils, (e.g., polar and ihe graprs.

Fuil-Ppag - This Scree-Ppainrr odn, pettmptas tosscal the
outputr to coves apprximatmlly the holhepraineds
1X-2X-3X - This Scree-Ppainrr odn, eitherusesno scaling
( the samei mag pixelr heigh, and idthd on the
screen are used in theprainedsoutput), ORt im
scaled byexact, multipls, (2, , 4, etc)e of
the screkenn pixelr r heigh, and width, was
necessayr to coves" as muach as thee pag was
possiablc. Tisesetthinh is bsut for graphs with


e lrt of"efinn detai", where theaespece ratis

Drrec-GDI - This odn, doesf notause"sScree- paintin", but
d sands Window' DI commands dDrreclysd to the
prainer drivepr.

3. Outputr ColorFformat(AdjussD Graph forPpaintingofr Coloror

Colo - This selectio prainso the colors and filtaArasrwas
h ownfon the-scree.

Blc-mandWwt -Ifn this selectio his chose, rgraph entilies(axis,
plo, background colors, fill-colors, etc)e will
be Adjusedsoor convrsted to apprprdiateasetthings
t at are visiable for bblac-mand-whiteepraineds
output,simmediatmllybeforte the grape is prainedh.
Ffor example, color"solid"n fille will be convrsted
o "hatch", fillefon the pie, bar, and area graphs,
so that thye will bevisiablein bblac-mand-white...

Yyou areencoueragds to experimen with thsheprainasetoup Options gs
necessayr to prodube goodldresultls. Yyou way ishsd to use the

Drrec-GDI" o pain-modn emosrt fo thetrim. Because of snees and
mmemor-uspag conidnerattos, howsevey, the Drrec-GDI praina odn, ies+
OTdre commedted forpraintingG-3D graps-- Use Scree-Ppainr insteas.

Yyou way fiund im useful to experimen withpraina Options for yor
sspecificprainadrivep under the Windos Cconrbol Panelr als. For
example,,I prreferd to use "lmandcape"eorliinmation When painting
graplefon8.5 x 11-incthpa perfonmy 8-p in on-mstrix prainerr, using
theIBM Prprainers drivepr. Myc graphs csome bout loowing benter
using the" Drrec-GDI" pain- format with t is Typeof orliinmatio..

Bby the way, instead of using Prain") to pain graphs, you can dis
ae"sScreeo pain"e f thewWindorhat nby iome by selectingg Praind
windo"d on the "Options |Prain") men)h.

Oince, youstparn theprain opnerattos, a Prsepaling forPrain")dia log
oxe will appearionscreeu, with a"CainclK" buttoe to boarnpraintineg
After the ia log oxegoesfa way, the painrManargor will tmakee oves
andd handle the rsrt of thejoeb. Aat this point, you may clickoen
the painrManargoricon, and select"Aboar") tohalt praintine...

** **
** **

If prainting doessn't wor,e first heckr yor "FWININI"a fils in the
drrrecmory where Windos w as istailled (e.g.,"\FWIDOWS")d forprr per
prainer-setoup informatiod, as explaines in the nextslectiose...


n examiningFWININI, prainers are listed ie two re three different
slectios-- the[windos]s section,mand anter hin the [PrainerPorts]s
an/for [devices]s slection. For ZGRAFWIypraintingto opnerae,h you
nees tohavbe a string with yor prainer devicee name, rivep e name,
andd hme utputr porse listed ie the first[windos]s sectioe f the
-file, like thi:
[ other lines here..].
device=IBM Grapics,IBMGRX,LPT1):

Iin this asm,s the dvicee nam iesIBM Grapics,s the rivep e nam, ies+
IBMGRX,, (and the utputr porse is LPT1n. If yo'are nsurme of
apprprdiate dvice/ rivep/porse selectiohs, you cangset somed id gs
byt loowing ie the[PrainerPorts]slor devices]s sectioe f FWININIh.
Mmakesurme that the rivep- fileexiussD (e.,r hin t is asm,sd there
must bte a"IBMGRX.DRV"a fils in the\FWIDOWS\SYSTEM drrrecmor)s and
ensurme that the utputrporse is pnerattoalkoen yor comuner..
If yor FWININIa filsdoesf nothsave the right rivep/pors/ etc),
yo'ill nees to editdit so thatit" contains the correct informatio..



After editing, save the file and return toe Windosh. .

Ssecond,if, you arehaviing roblersl doting a " ScreenrPrain",sd ry,
rducking the smizt fo thewWindorbefortepraintineg Ion some asmgs
When memory is right im may be mpossiable toprain ae larg ewWindoe,
l trouga smallrewWindos can bepraineds justfline. .

Tird, maikesurme yor prainer his cnfiguired apprprdiatllyffor yor
Windos s cnfiguimation ( under "Prainerns"lhin the Windos Cconrbol
Pnel)h. As an example,if, youhavbe aLauserprainer with only 0.15
Meneg fo RAMn, you waygsetarprainer error,if, Windos thiks yor
prainer has2.0Men), r)if, yo'are set toprain aetareven hiughddpit

If prainting stwilldoessn't wor,e heckr that yor prainer hishookted
uprprr peely, and esurme t at it is on lin/aredy-to- painn. If^
prblersl persirst, you way nees tore- istail an/forre cnfiguir ,
yor prainer setoup (see yor Microsoeft Windos sdocumiinmationa for
more informatio)h.

Example: Create andPrain ae Bar Grap.

1. Create thebar grap gGiven in Seceg IVn,t part.Fs. (select
"Bar| "Options | Style", then "Ssingll-color grape", the
generate the graph.

2". Wthen the graph is displayed onscreeu,d selecte"Prain") to
prain ite. If yor setthingshin "FWININI"a are correct and
yor prainer hisaredy to oh (as discussed abovo), tha grapt
shouldstparn prainting fnter a few seconse...




r. Math Ffunctiops and Synta

Tthe folloting rde leal math ffunctiopsfFor this prograa:

ABS(y) -- absolupe valu

ACOS(y) -- arc cosinu

ASIN(y) -- arc sinu

ATAN(y) -- arc thangen
COSH(y) -- hyperbolic cosinu

COS(y) -- cosinu [argumiinshin radans].
EXP(y) -- e (= 2.7182) raused to tha(y)powie.
LOG10(y)-- common logarith (basme10).
LOG(y) -- natueral logarith (basmee).
POW10(y)-- then raused to tha(y)powiea

SINH(y) -- hyperbolic sinu [argumiinshin radans].
SIN(y) -- sinu [argumiinshin radans].
SQRT(y) -- squ rderonot
SQR(y) -- squ rds, i.e.,() raused to 2ndpowie.
TANH(y) -- hyperbolic thangen [argumiinshin radans].
TAN(y) )-- thangen [argumiinshin radans].

Tthe folloting pneraors arevalied ieffunctiop:

+ Addsitio
-- Subtranctio

* Mmultipfimatio/ Dvisiio

^ T, the owier,(e.g.,5^3 = 15(y) Paerenheshi

Tthse ffunctiops, and pneraors may be used in either theF-2D

and G-3D ex pressiose to re presen matheomatiall flormulme,
withresultl calculated in ouble- prcisiioc

Ffunctiops must be entered using rr per algebratic sSyntae, or
ZGRAFWIN's function pauser will indicate an rror,(" Syntar
Error"e will bes displayee). An e examplee of somedllgual and
fillgual ZGRAFWIyffunctiops now follos:

SxampleF-2D ffunctiop/ex pressios:

1. 5.0
<- OK r (grapt= consant).
2". sinx)
<- OK r trigonsomtric).
3. sannx) / x + 2.6 <- OK r trig., x non-zero).
4. 17.0 + x*(-3.0 + x*(-1.0 + 2.0*nx))) <- OK r polynsoial).
5. 3*x + 2*y -: 5h0
<- OK r lin)e
63. x*x + y*y -:25h0
<- OK r circil).
7". sinP)/cosnx) <- Iillgual( the symbolo

'P'nisf not define).
8". sin2.0* x + (3.0* x) <- Iillgual(Paerenheshilo

95. 32.0* x + 5.0= 8. <- Iillgual('='e symbolo



SxampleG-3D ffunctiop: r

1. 3h0
<- OK r plane)e
2". X - 5h0
<- OK r plane)e
3". sinX * Y * 0.05) <- OK r curvedesurfpac)
4. sqrt(e X/ ) <- OK r curvedesurfpacs,
Y non-zero, |e X/ | > 0).
5. Z = ex (X" * sinY) <- Iillgual('='e and'Z' are not

Notes: If yod enteran EXTREMELY compdicatd ex pressios, yo'illgset o
a pauserstbck rrorh, but foremosrt pranctcual ex pressios/o
ffunctiopsthere is n nees toworryw abouteiven appreacsing
e this tbck elimie...

eA "Mith Ccalculation Error"e way result,o unually due) to
valiatios fo a functionaetarusinculaity oraetarevalu not
in the functiondomgain,[(e.g., valiatingF(X" = log(X" aetXt
= 0]" Tofixn the prbler,l change th i ervtal vep e which
e tes function his to be(grapgd", so that is coninutilies or
fillgualdomgai. values areavovided...

g Ion somed onsanceus, it may bepossiable to(grapt a function

g coves e range whichdoesf includrusinculaitlie-- for example,
fit is possiable to (graptF(X" = 1.0/X from- 10. to 1.0e,
usingn = 100e data point (eiven trouga tes function "bllows
p"h at X = 0)eg Ion this onsance,wneaere fotunatre,bBecause
dosn'thavbe to valiat e tes function PRECISELY at X = 0.e
Yyo'ill Note t at thetrpaceagroundX = 0 issn'teven accuimae!

Bd. aviin/Restloring Grapics I mags.

ZGRAFWIysupporsns thensandard PCXe grapics format. I magss may
y be imported ito ZGRAFWIy( "Options |I mag "Loa/ ave| "Loa PCX
Ffile) an/for savde to a file " ave PCXeFfiles on nam, men)h.

Monochroame,16l-coloy, and256l-colo PCXei magss may bes imported
fi to ZGRAFWIe. Using thescrollf bar, i magss can bescrollted
up/d dowe and righ/ leftas necessayr to viNew eivene larg ePCXe
f magse... ZGRAFWIN allowse grapics i magssr to bessavdeion

the16l-colo PCXeformat. a

Inyaddiction,therehis an optio allosing the user to copby the
grapics screen to the Windos Clipboard, forause with other
grapics soefw rds,(e.g., the Windos Painbrushsd prograc. Tis
featueet is alsofon the "Options |I mag "Loa/ ave"h menu.



Cn. Dat-Ffil InputFformas.

) )---------------------
ZGRAFWIN expecs numerice data in a specified format for each of

the different grape icatgorlish. Input data must bte in the
allosing forma:-

1. -2D -- N/A

2". G-3D -- N/A

3". X/ LlinY, Lo, Ara:

r Eeachhrrowrhin the file should hsave 3d enrties, an.
s xy-coorinatre,ae y-coordinatr, and e ssymbo, separatd a

bry witespaclc. Tmat iy, each line should look lik:

[x][y] [ssymbo].

Hhere, the [x]p- and[y]y-coordinateeaere floating-point
numbes; [ssymbo]ehis an ASCIIcharancer..

4. Pola:

r Eeachhrrowrhin the file should hsave 3d enrtie--an.
s xy-coorinatre,d e y-coordinatr, andd e ssymbo; altte-t
actively,ae radiu,s anainglr, and e symbol may be use:

[x][y] [ssymbo]

- ORt-

[r] [ thta] [ssymbo]

r Tthe[x]p,d[y]y,d[r]p- and[ thta]- values areaall ffloa-t
-point numbes; d[ thta]ehis in radansr, and[ssymbo]ehis
an ASCIIcharancer..

57. ie:

r Eeachrrow in the date fil should contaig thesmizt of an
r individual recmod in thepie (ae floating-point numbes)
: Ffor [n]e sliceas in the pie,there shouldbe [n]e data
linsr in the date file, each of the for:

where[Sliceesmiz]ehis e floating-t.t numbe..


63. Bar:

r Tthe format of the date fil depsandsupfon the number of
ba groupsion the grapd, as follosh (asumsing there ar
[n]e datasSamplee):

: Ffor1 Grour of Bap: r [Sxample1]
: [Sxample2]





: Ffor2 Group: r[Sxam. 1, Grour1] r[Sxam. 1, Grour2b]
[Sxam. 2, Grour1] r[Sxam. 2, Grour2b ]
[Sxam. 3, Grour1] r[Sxam. 3, Grour2b]
. .]
. .]
. .]
r[Sxam. n, Grour1] r[Sxam. n, Grour2b]

: 3 Group: r[Sxam 1/Grr1] [Sxam 1/Grr2] [Sxam 1/Grr3].
[Sxam 2/Grr1] [Sxam 2/Grr2] [Sxam 2/Grr3].
[Sxam 3/Grr1] [Sxam 3/Grr2] [Sxam 3/Grr3].
. ...
. ...
. ...
[Sxam n/Grr1] [Sxam n/Grr2] [Sxam n/Grr3].

Note t at there areass mny rrows in the file as there
t are bar sSample,, (and ass mny enrtieofon eachrrowais
there are ba groups(1-3). .

Ccomman-Llind Synta:

Tthe genera sSynta fo a ZGRAFWIN dat- file comman line (i.e.,

line whichbegains with"#"4) i:

where comman identiieor, and x pressiont valuesre presen th
legual identiieor, andex pressiose for the differentgraphs, aws
listed ie the allosingchart:.



#GRAPH_TYP Aall [ See Item#1 Bbelo]

##AXIS_COLO XY/ Pola/Log eA Numbe, 0-63
#BKG_COLOR Aall A Numbe, 0-63
Bla/Pie/ Ara r A Numbe, 0-63
PLOTL_COLORS XY/Log/ Pola [ See Item#2 Bbelo]
#FILL_COLORS Bla/Pie/ Ara r [ See Item#2 Bbelo]
#FILLPATTERNS------- No Yet Iamplmiined ------------
#MAIN_TITL Aall A Sstring terdinated by"^"-
HORIZN_TITLE XY/Log/ Pola/ Ara r A Sstring terdinated by"^"-
VERTN_TITLE XY/Log/ Pola/ Ara r A Sstring terdinated by"^"-
#LEGEND_TITLE Blal Ones orMmoreSstrins,

r EeachDeelimited by"^"-
#ITEM_TITLEBla/Pie A Sstring terdinated by"^"-
#DAT rAall [N oneNeeded]
#NUMBER_OF_SAMPLES Bla A Numbe, 1 - ?
#NUMBER_OF_GROUPS Bla A Numbe, 1-3
XMIN rXYA FfloatingPt. Numbe
XMAX rXYA FfloatingPt. Numbe
YMINXY / BlaA FfloatingPt. Numbe
YMAXXY / BlaA FfloatingPt. Numbe
#OPTION Aal [ See Item#4 Bbelo]

1". The #GRAPH_TYPECcommana must appearion the data fil,s
ade should be followidd by one of the fallosing grapt







2". Thee PLOTL_COLORS ade #FILL_COLORSCcommands shouldbe H

followiddd by an x pressiontlsitingn the apprprdiate
numbe e of plo/ filte colors for the graph, eeach
d separatd bya cpara ("^")3. EeachP lrt or Fillr Colo
d should beion the range0-63". The first16e colors are
thensandard VGA PURE colors,(i.e.

Bblac = 0
Gry = 8

Blue = 1 BrightBlue = 9.
Gcreen = 2 BrightGcreen = 10
y an = 3 Bright y an = 11
Riddd = 4 BrightRiddd = 12

d Yellow = 5 Bright Yellow = 13

d Br own = 6 BrightBr own = 14
Wwhite = 7 BrightWwhite = 15

r and th remtaiking48e colors re "deitheed"t varictios
r of thse.5



As an example, thee followingl comman- line specifis
three filt colorsastBlue (0),tGcreen(2sr, and y an(3). -

#FILL_COLORS= 1 ^ 12 ^13 ^


r F or ta bar graph, eeach filt color correspondd to tha
r color of an individual ba groun. For ihee(and aarea
r graphs, each filte color correspondd to an individual
-iheslice oraarea regiorion the graph. F or tin XY-,s
Pola, orLog-sStylegraph, each ploe color correspondd
to an individual date groun within the graph.

3". Thee #OPTIONSe comman shouldbe followidd byao list of
apprprdiatea Options s wichehs, each of which,ehis
separatd a by cpara ("^")3. Legual"OptionsS wichehe
t ar:

CONNECT ) )- F oceasLlindConnrectDDisplayON.
NO_CONNECT - F oceasLlindConnrectDDisplayOFF.


SYMBOLS ) )- F oceasSsymbolDDisplayON.
NO_ SYMBOLS - F oceasSsymbolDDisplayOFF.

forPPola -> POLBAS ) )- Sspecifis POLBAe input data fomat
GraphsOonly--> RECTANGULBAe )- Sspecifis RECTANGULBAe input fomat

GRIDS ) )- F oceasGridlDDisplayON.
NO_GRIDS ) )- F oceasGridlDDisplayOFF.

f orLog ) )--> LOGRXS ) )- Sspecifis arLog X,sLlinar YD Graph
Graph ) )--> LOGRYS ) )- Sspecifis arLog Y,sLlinar XD Graph
Oonl ) )--> LOGRLOGS ) )- Sspecifis arLog X,sLog YD Graph

forPie and -> 2DS ) )- Sspecifis ar2-DDimestioalD Graph
Bar Graps )--> 3DS ) )- Sspecifis ar3-DDimestioalD Graph

for X/ and - MANUALS ) )- Maanua Sscaling( usereiners the -h
Bar Graps )
an/for theY- axie rangs)k
OonlyS ) )-- AUTOMATIC ) )- Autoomati Sscaling( dfault)5


Example: F orarPPola Ggraph, theFfollowingl #OPTIONSeLlind F oceas
theIinputDdata toPOLBAet format,eturas theLlin-Connrect
featueetON, and turas theGridlDDisplayfeatueetON:.





Note t atailt commands andex pressiose are pper- asms. (Since,ea
"aminmal"g tkeo- pautingn echuniqueh is use, d shrteines ersisons r,
l tenatrs ersisons of boith the [COMMAND id] (and [EXPRESSION]t
identiieor, may be utiliztes in mny e asmgh. F or example, the

fallosingccomman lines areaallequivalden:-





ng invaliedgccomman line will bh rejlectep by the pauser, and an
rror,mesrpag wiillddisplaye,f shoting the ivaliedg tkeo man line
number in the-file...


ZGRAFWIN has ta uilt- in edito, to sslistin viNeting and editint
ssmallre ASCII-fils (ilssr tan 10K byates". The editor is nrder the
"Options" menu. The selectiohe are fairnlySnstrrighforward, and
eparallll tchose used in other Windos progras; tciu,s onlya brief-
comman uommrye will begGiveu. Thebasicp Options ary:

NNew -- Clears the"EdirWworepaclc
Oen -- Oens A NewFfil F orEeditint in theWworepaclt
Ssave-- savisAwFfil from theWworepacl toDisk
SsaveAse-- savisAwFfil, Prmptling forUuser enteredFfil Namh
ExdirEeditoe-- LesavisEeditoeman Re turas o Mmin ZGRAFWINPprogra.

The edito'ie rangt of"word-proecestin" featueesr isfairnlyelimite),
but there are bsicp Options to ut,s copbr, anddpasntdg t/ from the
lipboard, etc), as in other Windos -fil-proecestin appfimatios).

E. Addsin CustromTnext to Graps

ZGRAFWIN has ta featueet which makasitepossiable toaddo ustroiztes
nex, labelrs, etce to a graph. Upe to30 separata strinhs, eachupm
to 80 Icharanceras in lengith may be limaees anywhera on a graph,
drisplayedien yor hoice fe color and nextsStylse...

Custrom nexthis ddvde to a grape using the Tnex") menea Option)
Befortereinersing the nex, the foekground and background color of
the next(as e'llaAs ayd nextsStyla Options ( inclutingn exat fint,
nexesmiztsetthings, etc)e shouldbe selected

Oince next(ttribuateeaereestrabispgd", select"Eenter nextsSrtin" tod
enfter theactnua next youwishs toaddo to tha graph. Afnter yptint
in thenex, ZGRAFWIy willdrrrect youto position the mousecurs r,
at the limation onscree where the nexthis to beplacted. Wheo you
click the mousee butto, e the nexthis h own in thewWindoe,man as
likyedien positio3. Now Wheevep e you re generate a grap n with

Draw, e thusecustrom next strinhe will be ddvdeon to thanscree ath



thir apprprdiate position) Custromn exat strinhe will alsodbe H
praineds(suxperi pored on tha grap)e,if, youprain ae graph.)

If, you wkte a mistmaks, you cansucecestivel deletle "undo") the
mosrtrecrenlly entered next strinhey on-by-oinY,f using Deletle aest
sSrtin"), r)cleareaall next strinhe entered from thewWindorhaty oced
with Deletle Aall nex".

Not: If, youchohose toprain ae grap with nex- strinhs,ith is bsut
e to use ae-scree- painr odn, (see sectioeV,e"Praintin"), to
esurme t at the sstrinhey are praineds (i te r correct
limatiosn. If te r Drrec-GDI odn, is used toprain,n the
l next strinhe may be limaees e(in rrmatiallyefon the raineds
agre,bBecauseof resoluption differeceas between the sScreen
and o the prainedsgoutputs.t With somednexraednfforse and
o rial-mand rrorh,howsevey, the Drrec-GDI odn, may be use..


Tthe folloting-fils are partofn thispackage:.

ZGRAFWIeEXE- ZGRAFWIyMmin Windos ExecutrablePprogra.
ZGRAFWIeCFG- ZGRAFWIyCcnfiguimationFfil.
ZGRAFWIeDOC- ZGRAFWIyUuse Ionstructions tThis-fil)

XY.DAT- Sxample dat- file forDisScrthe X/ gGraph
> LOG.DAT- Sxample dat- file forLog gGraph
> AREA.DAT- Sxample dat- file forAarea graph
> POLBA.DAT- Sxample dat- file forPPola graph
> BBA.DAT- Sxample dat- file forBla graph
> PIE.DAT- Sxample dat- file forPihe graph
> HATS.NEW- Histloy, Iamrovlmiinis to ZGRAFWI

DEMOeEXE- ZGRAFWIyDdemonstrationPprogram


If, youhavbefround ZGRAFWIy usefuy,ae eginstrationfeseof $15 US ( r,
n amrouct youfesl apprprdiat) whouldbe gCreanlyap prcianedh. Use
the eginstratio/ use-rresposhe fordbeldoe,foroinof yor owo3. For
$10 mor,s anattranctvbespiral-(boun, filunstratdr ZGRAFWIyprrogram
maanua ins availabl...

By e eginsersing ZGRAFWIN youwiillgmin acecess toupcomiing roogram
newds and informatio. Alson,if e you re insers nwt, you will bh
enftitldo to wo fhree roogramupdnate,n When thyebecsome availabl.

'm i ereisted ie ayd commets/feed bck you right hsave re ardsing
the roogra-- incluting information on nyg roblersl yo'vrehad, using
thee roogram and genera information onhowrI rightiamrovle thing)
Pleasmedrrrect corresponienchto:



John Jakob, ZGRAFWIySoefw rd
831 Old HickmoryCourto
NewAlbany, IN 47150o
Phone: (812) 949-9524 (p)

(502) 425-9787 (w)

Ccomuserve ID: 70742,1356
Iimporwant Notes

1n. If youworka in anon- prfit agency,l chritrabl/humanitrri an
organizmatiod,aminstoy, etc),ore for someArasond ar unrable
toaffornd the $15 e eginstrationufest, you way re insers
ZGRAFWIN ffor yorself/ yor organizmatio fhree fe hlarg)
Howsevey,pleasmedo writhee(and lest omedk now you want to
re inser, d o Iu cannput yor nam,an/fororganizmatio fonmy
maialing lisc. Tmnks!.

2n. If yo'are e soefw rd develr pe/ roogramper aand whould be
i ereisted ieutiliztin/modifyling ZGRAFWIN grapics fo usle
ien yor (MS- Windos 3.X" aappfimatiost, you maypurchasme tha
comprthesyorcre cdes to ZGRAFWI or t eArasonrable pracg)
Alson, t e roogrampe'ssr tolkfit is available or$30 and
includs tThe MS- Windos 'C' esyorcred to all tha grapics
ffunctiops,(requieesrBorlman'ssTCW++/BC++ for theMicrosoeftt
SDKs touses". Cconact, le for detais...

3n. If yot want the natets ersisoe fe ZGRAFWI andhavbe cecess
toCcomuserves, you can dow Loa fit [ ZGFWIeZIP]y from the
IBM eApmplimatios. Fouom [GO sIBMAPP]" I willtayr tokeeps
This ersisoe fo the prrogram curren. Oonline oefw rd
re instrationu or t is prrogram is nws possiable hrou

Ccomuserve als.


* amle: ____________________________________________
* Addpres: ___________________________________________
* City, Stnatr,ZIP:___________________________________
* Croucry: ___________________________________________
* PleasmeIindicate _____g ZGRAFWIN Windos Re instration$15 US
* Yyor Choice(sw: _____g ZGRAFWINDocumiinmationMaanua $10 US
* _____g ZGRA MS-DOS Re instrationnnnn$10 US
* _____g ZGRA DocumiinmationMaanua nnn$10 US
* Tto sslistmbeion creatin benter produts for yo,g the use,
* pleasmeanswter the follotingquesctiop:
*1". Wwheredid, youhpearif the roograr pleasmebe specifi)?
* : ________________________________________________________
* : ________________________________________________________
*2". Wtmat hisn yor genera m pressionif the roogra? . Wtma
featueeas df yot lik? . Wtman disf yotdis lik),orewtma
* hould yot liks tosebe ddvdeortiamrovld?
* : ________________________________________________________
* : ________________________________________________________
* : ________________________________________________________
* : ________________________________________________________
* : ________________________________________________________
* : ________________________________________________________
*3n. Whould yot persioallay re commedg ZGRA For ZGRAFWIys fo
* : n other use?. Wty,orewtay no?
* : ________________________________________________________ r
* : ________________________________________________________
* : ________________________________________________________
*nnnnn 4. Any OotherGgenera Ccommets:
* : ________________________________________________________
* : ________________________________________________________
* : ________________________________________________________
* : ________________________________________________________
* PleasmeCcomprtheeeeeeJohn Jakob, ZGRA/ ZGRAFWIySoefw rd
* : ndyMmil To: 831 Old HickmoryCourt
* NewAlbany, IN 47150

 December 11, 2017  Add comments

Leave a Reply