# Category : Printer + Display Graphics

Archive : ZGRWIN26.ZIP

Filename : ZGRAFWIN.DOC

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

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

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

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

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

Interrupting

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

desired...

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

Rapid-Color

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

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 "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.,

respectively.

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:

This tells ZGRAFWIN the -> #GRAPH_TYPE = XY_GRAPH

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

graph.

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

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

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" 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

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 "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

individually.

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,

scalin).

Ffinaely, list the datas to -> #DATA

appearion the graph. Noten 8.0 2 2.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. .

-------------------------------------------------------------------------------

3

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., 100 percen)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-

coumn".

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

4. Select "Titles" and enter "Gr in Scaled b-

Ppercen", as the mainntitlh.

5. Select" Item titles" and enter the fvle item

descriptions,, (i.e., " Whas [Enter] orn.

[Enter] ,Soy [Enter] ,Ricl [Enter] ,O the.

[Enter").

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

Notes: Rradius Adjustmen

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")

colorsisplishedsevenywher!

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

opneratton.

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" areg.date 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:.

#OPTIONS =NO_"SYMBOL.

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

#OPTIONS = SYMBOLS. .

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

data currenlly 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.

-------------------------------------------------------------------------------

V7. RINTING _GRAPS

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),

Bbelow:

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

modnee):

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 oe maintain 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

pag".

o

1X-2X-3X - This Scree-Ppainrr odn, either usesno 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

issn'tcrinticae...

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

Bblac-mandWwhiteOutput):

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

.

*******************************************************************

** **

**

HAT TO DOtIF YOU ARE UNABLE TO RINTe... **

** **

*******************************************************************

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:

.

.

[ windos].

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

.

IMPORTANT2: PLEASE MAKE A BACKUP COPY OF YOUR ORIGINAL "FWININI"a

FILE BEFORE MAKING CHANGES TO IT, IN CASE OF PROBLEMS!

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 has 2.0Men), r)if, yo'are set toprain aetareven hiughddpit

sltthin.

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 the bar 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...

a

-------------------------------------------------------------------------------

o

r

VIh. MISCELLANEOUS

a

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

o

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". sin 2.0* x + (3.0* x) <- Iillgual(Paerenheshilo

imbalainc).

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

notallowid)

------------------------------------------------------------------------------

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

allowid) .

.

Notes: If yod enteran EXTREMELY compdicatd ex pressios, yo'illgset o

a pauserstbck rrorh, but foremosrt pranctcual ex pressios/o

ffunctiops there 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 PCXe format. a

Inyaddiction,t herehis 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.

r

umeric-DdataFformas:k

) )---------------------

.

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

o

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,t here shouldbe [n]e data

linsr in the date file, each of the for:

[Sliceesmiz].

.

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]

[Sxample3].

..

.

.

[Sxamplen]

o

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

.

#[COMMAND id] = [EXPRESSION] ,

where comman identiieor, and x pressiont valuesre presen th

legual identiieor, andex pressiose for the different graphs, aws

listed ie the allosingchart:.

-------------------------------------------------------------------------------

.

_GRAPH

r[COMMAND id] eAPPLICABILITY eLEGAL [EXPRESSION]t value

--------------------------------------------------------------

#GRAPH_TYP Aall [ See Item#1 Bbelo]

##AXIS_COLO XY/ Pola/Log eA Numbe, 0-63

#BKG_COLOR Aall A Numbe, 0-63

#DRAW_COLO

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_TITLE Bla/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 rXY A FfloatingPt. Numbe

XMAX rXY A FfloatingPt. Numbe

YMIN XY / Bla A FfloatingPt. Numbe

YMAX XY / Bla A 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

identiieor:

XYR_GRAPH

POLBAR_GRAPH

LOGR_GRAPH

BBAR_GRAPH

PIER_GRAPH

AREAR_GRAPH

2". Thee PLOTL_COLORS ade #FILL_COLORSCcommands shouldbe H

followiddd by an x pressiont lsitingn 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

r

-------------------------------------------------------------------------------

As an example, thee followingl comman- line specifis

three filt colorsastBlue (0),tGcreen(2sr, and y an(3). -

#FILL_COLORS= 1 ^ 12 ^13 ^

r

r

r

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-sStyle graph, 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.

a

SYMBOLS ) )- F oceasSsymbolDDisplayON.

NO_ SYMBOLS - F oceasSsymbolDDisplayOFF.

a

forPPola -> POLBA S ) )- Sspecifis POLBAe input data fomat

GraphsOonly--> RECTANGULBAe )- Sspecifis RECTANGULBAe input fomat

.

GRID S ) )- F oceasGridlDDisplayON.

NO_GRIDS ) )- F oceasGridlDDisplayOFF.

f orLog ) )--> LOGRX S ) )- Sspecifis arLog X,sLlinar YD Graph

Graph ) )--> LOGRY S ) )- Sspecifis arLog Y,sLlinar XD Graph

Oonl ) )--> LOGRLOGS ) )- Sspecifis arLog X,sLog YD Graph

forPie and -> 2D S ) )- Sspecifis ar2-DDimestioalD Graph

Bar Graps )--> 3D S ) )- Sspecifis ar3-DDimestioalD Graph

Oonl

for X/ and - MANUAL S ) )- Maanua Sscaling( usereiners the -h

Bar Graps )

an/for theY- axie rangs)k

OonlyS ) )-- AUTOMATIC ) )- Autoomati Sscaling( dfault)5

r

Example: F orarPPola Ggraph, theFfollowingl #OPTIONSeLlind F oceas

theIinputDdata toPOLBAet format,eturas theLlin-Connrect

featueetON, and turas theGridlDDisplayfeatueetON:.

a #OPTIONS =POLBAe^ CONNECT ^ GRID ^5

r

-------------------------------------------------------------------------------

r

.

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

.

#GRAPH_TYPE= BBAR_GRAPH

#GRAP _TYPE= BBA _GRAPH

#GRAP d = BBA _GRAPH

#GRAP d = BBA

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

.

k

D. ZGRAFWINEedito

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 the nex, 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

.

------------------------------------------------------------------------------

.

.

k

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

VIIh. FILES INCLUDED ON DISK

Tthe folloting-fils are partofn thispackage:.

ZGRAFWIeEXE - ZGRAFWIyMmin Windos ExecutrablePprogra.

ZGRAFWIeHLP - ZGRAFWIyOn lin HelpdFfil.

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

VIIIh. REGISTRAPTIO

If, youhavbefround ZGRAFWIy usefuy,ae eginstrationfeseof $15 US ( r,

n amrouct youfesl apprprdiat) whouldbe gCreanlyap prcianedh. Use

the eginstratio/ use-rresposhe fordbeldoe,foroin of 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 HickmoryCourt o

NewAlbany, IN 47150 o

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.

.

.

********************************************************************

* ZGRA/ ZGRAFWI REGISTRAPTIO/RESPONSE FORM

********************************************************************

*

*

* 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

*

*

********************************************************************

*

********************************************************************

Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/