home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 19
/
CD_ASCQ_19_010295.iso
/
vrac
/
crux153.zip
/
DISK_02.EXE
/
CRUX.DOC
< prev
next >
Wrap
Text File
|
1994-09-18
|
113KB
|
3,222 lines
CruX
Data Analysis and Visualization
Version 1.53
Copyright 1991 - 1994
Disclaimer of Warranty
This program and manual are provided "as is" without
warranty of any kind, either expressed or implied,
including, but not limited to, the implied warranties
of merchantability and fitness of purpose. The user of
this software and manual assumes all risks.
TABLE OF CONTENTS
1.0 INTRODUCTION 4
1.1 APPLICATION DESCRIPTION 4
1.2 HARDWARE REQUIREMENTS 5
1.3 INSTALLATION 5
1.4 CRUX OPERATION AND USER INTERFACE 7
1.4.1 The Command Line 7
1.4.2 Menus and Dialogs 8
1.4.3 Special Keys 9
2.0 THE CRUX SPREADSHEET 10
2.1 Description 10
2.2 Navigating the Spreadsheet 10
2.3 Working with Data 11
2.3.1 Data Types 11
2.3.2 Data Entry and Generation 16
2.3.3 Formula Expressions 13
2.3.4 Working with Data Blocks 16
2.4 Editing 17
2.4.1 Block Editing 17
2.5 Data Files 18
2.5.1 Saving Your Data 18
2.5.2 Reading CruX Data Files 18
2.5.3 Importing Data from Other Sources 19
2.5.4 Exporting CruX Data to Other Programs 20
2.5.5 Other File Commands 21
2.6 Display and Conversions 22
2.6.1 Display 22
2.6.2 Conversions 22
2.7 Data and Curve Fitting 23
2.7.1 Equation Fitting 23
2.7.2 Spline Fitting 24
2.7.3 Smoothing 24
2.8 Other Data Manipulations 25
2.8.1 Extraction 25
2.8.2 Sorting 25
2.8.3 Transposition 25
2.8.4 Data Table Generation 26
2.8.5 Regular Grid Generation 27
2.8.6 Integration and Summation 28
2.8.7 Differentiation 28
2.8.8 Summary Statistics 28
3.0 CRUX UTILITIES 29
3.1 Macro Recording and Playback 29
3.2 Printer Setup 30
4.0 DATA GRAPHING AND DISPLAY 31
4.1 Selecting Graph Type and Data Columns 31
4.1.1 2-Dimensional Graphs 31
4.1.2 3-Dimensional Graphs 32
4.1.3 Graph Templates 33
4.2 Graph Editing 33
4.2.1 Graph and Legend Positioning 34
4.2.2 Data Zooming 34
4.2.3 2-Dimensional Graphs 35
4.2.3.1 Data Point Editing 35
4.2.3.2 Data Formulas 36
4.2.3.3 Line Attributes 36
4.2.3.4 Symbol Attributes 37
4.2.3.5 Error Bars 38
4.2.3.6 Text Annotation 38
4.2.4 3-Dimensional Graphs 39
4.2.4.1 Line Attributes 39
4.2.4.2 Contour - Surface Z Levels 39
4.2.5 Graph Formatting 40
4.2.5.1 Axis Labels 40
4.2.5.2 Axis Range 40
4.2.5.3 Axis Format 40
4.2.5.4 Grid Selection 41
4.2.5.5 Graph Background and Border 41
4.2.5.6 Legend Display 41
4.3 Graph Templates 42
4.3.1 Saving and Loading Templates 42
4.3.2 Removing a Template 42
4.3.3 Setting a Default Template 42
4.4 Graph Files 44
4.4.1 Saving and Loading Graph files 44
4.5 Miscellaneous Graph Format Functions 45
4.5.1 Graph Selection 45
4.5.2 Data Clipping 45
4.5.3 Titles 45
4.5.4 Page Layout 45
5.0 PAGE COMPOSITION AND PRINTING 46
5.1 Graph Positioning Layout 46
5.2 Page Selection 46
5.3 Output Device Selection 47
5.4 Page Printing 47
6.0 SUMMARY OF CRUX FILE TYPES 48
APPENDIX A - ASCII Data File Format 49
APPENDIX B - Keyboard Mouse Emulation 51
APPENDIX C - Formula Evaluation Error 52
Strings
CruX - User Guide
1.0 INTRODUCTION
1.1 APPLICATION DESCRIPTION
CruX is a program for data analysis and visualization. It
consists of a data series oriented spreadsheet for numerical
editing and analysis, and graphic display components for viewing,
manipulating and printing your plots.
CruX's main features include...
Column Oriented Spreadsheet
∙ Series oriented data referencing
∙ Full-featured spreadsheet navigation and editing
∙ Algebraic style equation syntax
Data Manipulation Functions
∙ Series generation and calculations
∙ Data smoothing, fitting and 2-D interpolation
∙ Index and Frequency Sorting
∙ Matrix operations
∙ Editing - block move, copy, delete
Technical Graphs
∙ Line, Scatter, Chain, Area, Polar, Bar, Pie, Contour &
Surface plots
∙ Mouse data zooming, editing, sizing, and positioning
∙ Multiple variable position axes - Linear & Logarithmic
∙ Error bars in vertical and horizontal directions
∙ Selectable line styles, thickness and colors
∙ Selectable symbols with variable sizes, colors, and fill
patterns
∙ Text annotation of data points
∙ Scalable, rotatable fonts
Technical Graphs (continued)
∙ User controllable legends
∙ Multiple plots per printed page
∙ Graph and Page-Layout templates
∙ Broad range of supported printers
File Management
∙ Import/Export multi-column ASCII files allowing data
exchange with virtually any program
∙ Import Lotus worksheets directly
∙ CruX's own compact binary format
4
CruX - User Guide
1.2 HARDWARE REQUIREMENTS
CruX will run on any IBM compatible PC, XT, AT, 386 or higher
processor with at least 512 KB of memory. One of the standard
graphics adapters (CGA, ATT, EGA, VGA, 8514, PC3270 or Hercules)
is required to display graphs. A hard disk is recommended but
not required. Additionally CruX will use Extended or Expanded
memory, if available, as high speed storage for overlays. If a
math co-processor is present, it will speed up calculations (very
dramatically for some functions), but it is not necessary.
1.3 INSTALLATION
To install CruX, insert the diskette labeled SETUP into a floppy
drive and run the SETUP.EXE program. CruX is distributed in a
compressed file format and you must run the setup program to
install it.. A complete installation of CruX should include the
following files:
- File Name - - Description -
README.TXT Introductory ASCII text file
CRUX.EXE CruX program
CRUX.HLP CruX help file
Screen Display Driver and Font Files...
EGAVGA.BGI EGA/VGA display driver
HERC.BGI Hercules " "
CGA.BGI CGA " "
IBM8514.BGI IBM 8514 " "
PC3270.BGI IBM 3270 " "
ATT.BGI AT&T " "
SANS.CHR A sans-serif font (Helvetica)
TRIP.CHR A serif font (Times)
BOLD.CHR Additional font
EURO.CHR " "
GOTH.CHR " "
LCOM.CHR " "
LITT.CHR " "
SCRI.CHR " "
SIMP.CHR " "
TSCR.CHR " "
5
CruX - User Guide
Printer Driver Files...
$DJ.BGI HP DeskJet (B&W) driver
$DJC.BGI HP DeskJet (Color) "
$FX.BGI Epson 9-pin/compat."
$HP7470.BGI HP 7470 plotter "
$HP7475.BGI HP 7475 plotter "
$HP7550.BGI HP 7550 plotter "
$HP7585.BGI HP 7585 plotter "
$IBMQ.BGI IBM Quietwriter "
$LJ.BGI HP LaserJet II "
$LJ3R.BGI HP LaserJet III "
$LQ.BGI Epson 24-pin/compat. "
$PJ.BGI HP PaintJet "
$PP24.BGI IBM Proprinter X24 "
$PS.BGI Postscript "
$LJ.INI HP LaserJet II Font Info
$LJ3R.INI HP LaserJet III Font Info
$PS.INI PostScript Printer Info
GDHEAD.PS Postscript graph prologue
TXHEAD.PS Postscript text prologue
After CruX is installed, the above listed files will be in the
destination directory you specified in the setup program. Then
to run, change to this directory and type CRUX at the DOS prompt.
Or, if the CruX directory is on your DOS path, it can be run from
any directory.
CruX creates some temporary files when printing a graph. To
optionally tell CruX where to place these temporary files use the
DOS SET command to specify a drive and directory. For example,
inserting the line
SET TEMP=D:\SCRATCH
into your AUTOEXEC.BAT file tells CruX to use the SCRATCH
directory on your D: drive for all its temporary files. This
will dramatically improve performance if you are running CruX
from a floppy. And if you have a RAM disk, using it as the TEMP
location will improve performance even if CruX is running from a
hard disk.
If you wish to minimize the amount of disk space used by CruX,
you may delete any .BGI and/or .INI files associated with
displays or printers you do not wish to use. See the list of
files and descriptions above to determine which files you do not
need.
6
CruX - User Guide
1.4 CRUX OPERATION AND USER INTERFACE
1.4.1 The Command Line
To run CruX, simply enter CRUX at the DOS command prompt, and
press <Enter>. CruX can also be started with a number of command
line options and arguments.
The command line syntax is:
CRUX [options] [file]
where options consists of one or more of the following preceded
by "-" or "/".
B - Use BIOS for screen writes to prevent snow
(Default is direct screen writes)
C[1 or 0] - 0 monochrome display, 1 color (Default is
color)
O[X,E or D] - Swap overlays to eXtended, Expanded memory
or Disk (Default is disk)
L[filename] - Read graph Layout file
M[filename] - Read/execute Macro
D[delay] - Delay between execution of successive Macro
steps (milliseconds)
A[filename] - Import ASCII file
T[filename] - Read graph Template file
? - Display a usage message
A filename argument with no options is treated as a CruX
data/graph file.
Multiple arguments can be combined on the command line, for
instance
CRUX -OX -T format.tpl -A test32.dat calib.cxd -M mymacro.mac
starts CruX using extended memory for overlay swapping, loads a
graph template from format.tpl, reads the ASCII text file
test32.dat, loads the CruX data file calib.cxd and performs the
sequence of recorded keystroke commands stored in mymacro.mac.
This capability makes CruX especially useful for automated batch
file operation when large amounts of data need to be processed
and printed. The command line shown above could read raw data
stored in test32.dat, perform calculations on this data using
additional information stored in calib.cxd and print a graph
7
CruX - User Guide
using the format information stored in format.tpl without any
user intervention.
NOTE:When using a macro on the command line, be aware of the
order of the command line arguments. For instance, in
the example given above, if "-M mymacro.mac" appeared
before "calib.cxd" the macro would begin executing
before the data in file calib.cxd had been loaded.
1.4.2 Menus and Dialogs
All CruX screen displays have a row of menu selections across the
top. To activate any of the menu choices, press the highlighted
letter of the command in combination with the <Alt> key; e.g. to
access the File menu, press <Alt>F. A command can be chosen from
the resulting drop down menu by pressing its associated command
character, or moving the selection bar with the cursor keys and
pressing <Enter> when the desired command is highlighted.
Alternatively, a mouse can be used to pick menu selections.
Press the left mouse button on a menu bar selection, move the
mouse cursor over the desired command in the resulting drop down
menu, and release the mouse button to perform the desired action.
In many of the drop down menus "short-cut" or "hot-keys" are
displayed at the right side of the menu. These key combinations
directly perform the same action as the menu item selected by
other means.
The result of most menu selections is a dialog box composed of
controls. A control is an entry field, pick list or button. The
<Tab> and <Shift><Tab> keys are used to move between controls.
To show the contents of a pick list press <Alt><down>. Choose an
item from the resulting list by moving to it with the arrow keys
and hitting <Enter>, or pressing the corresponding command
character. Command character selections can also be made when
the pick list is "closed".
Buttons are activated by tabbing to the desired button and
hitting <Enter>. There is always one button that is highlighted
regardless of where you are in the dialog. This default button
will be executed when you press <Enter> (if you are not in an
"opened" pick list). When a dialog first appears, the "OK"
button is usually the default. Pressing <Esc> at any time will
close the dialog ignoring any changes you may have already made.
Of course, you can also use a mouse to navigate around a dialog.
Simply click on the desired control to move to it. Open pick
lists by clicking on the down arrow immediately to its right. To
activate a button, click it.
8
CruX - User Guide
1.4.3 Special Keys
When you are entering text or numbers in an edit field of a
dialog, a number of keys perform special actions. These are
summarized below.
- Key - - Action -
<right> Move right one character
<left> Move left one character
<Home> Go to start of entry field
<End> Go to end of entry field
<Del> Delete character under cursor
<Backspace> Delete character to left of cursor
<Ctrl Backspace> Clear entire edit field
<Ins> Toggle character insert mode
<Ctrl-C> Copy edit field to buffer
<Ctrl-V> Paste buffer at current position
These same edit key commands are also available whenever you are
entering text or numeric values.
9
CruX - User Guide
2.0 THE CRUX SPREADSHEET
2.1 Description
CruX includes a powerful series-oriented spreadsheet with the
standard row and column layout. Each column of a CruX
spreadsheet is considered to be a series of related data values;
e.g. temperature, time, stock price, voltage, etc. Each column
has a heading that the user can define. Besides being
descriptive, this heading is used to automatically label graph
axes and to produce legends. CruX allows 128 columns, each of
which can contain up to 12,000 values, dependent on memory
constraints. On a 640 KB equipped PC, CruX can typically work
with 50,000 or more data values at once.
2.2 Navigating the Spreadsheet
Navigating through the CruX spreadsheet is accomplished primarily
with the cursor direction keys. The current location in the
spreadsheet is indicated by a highlighted cell. Cursor keys and
their resultant actions are:
- Key - - Result -
<up> Move up one cell
<down> Down one cell
<right> Right one cell
<left> Left one cell
<PgDn> Down one screen
<PgUp> Up one screen
<Ctrl><right> or <Tab> Right one screen
<Ctrl><left> or <Shift><Tab> Left one screen
<Home> Goto cell A1
<F5> Goto a user specified cell
In addition to the movement commands above, the <End> key can be
used in combination with the cursor keys to speed navigation
around large blocks of data. Preceding a cursor direction key
with the <End> key moves the cell cursor directly to the next
block boundary cell in the indicated direction.
- Key Combination - - Result -
<End>,<up> Move up to the next block boundary
<End>,<down> Down to the next block boundary
<End>,<right> Right to the next block boundary
<End>,<left> Left to the next block boundary
<End>,<Home> Goto last cell (actually, this is the
intersection of the last row and the last column
containing any data)
10
CruX - User Guide
You can also move the cell cursor to any visible cell with a
mouse - simply click the left mouse button on the desired cell.
2.3 Working with Data
2.3.1 Data Types
Spreadsheet cells can contain either numeric (floating point) or
text data. Numeric and text data are displayed in different
colors to distinguish between data values and text cells
containing numbers. Text and data cells can be freely inter-
mixed; any "data only" operation simply ignores text cells, and
any "text only" operation ignores data cells.
Numerical values can also be used to represent dates and times.
CruX works with dates internally as the number of days since
December 31, 1899. You can also convert to and from a short-hand
date representation of yymmdd, where yy is the last two digits of
the year, mm is the month and dd is the day. The yymmdd format
is preferable when entering dates from the keyboard, while the
day count is needed to calculate the number of days from, for
instance, January 5, 1957.
Time is represented internally as a fractional part of a day,
starting at midnight. However, as with dates, you can enter time
values in a more convenient short-hand notation. The alternative
time entry form is hhmmss (hh is hours, mm minutes, ss seconds).
Date and time values can be converted between their two alternate
forms using the Utilities menu commands.
2.3.2 Data Entry and Generation
You can enter data directly into the CruX spreadsheet by
moving the cursor to the desired cell and typing the numbers
or text. However, if you wanted the series of whole numbers
from 1 to 1000 this could take a while. An easier way is to
use the Data / Generate command.
The Data / Generate command presents a dialog box requesting a
Starting and Ending Value, the Number of Values to generate, a
Point Spacing method and a Cell Location. Upon providing
values for these parameters and pressing <Enter>, the results
of the data generation are stored starting at the cell
specified.
For a Linear Point Spacing, the increment between successive
rows in the destination column is calculated as (End Value -
Start Value)/(Number of Values). Logarithmic Point Spacing
produces a uniform separation between points when plotted on a
11
CruX - User Guide
log scale. The multiplication factor of separation successive
logarithmically spaced points is:
(log10(End Value) - log10(Start Value))
10
---------------------------------------------
(Number of Values)
12
CruX - User Guide
2.3.3 Formula Expressions
CruX has a full set of calculational tools for evaluating
mathematical expressions. Additionally, access is provided to
some of the built-in CruX operations such as data generation and
fitting through formula expressions.
Formulas are composed of column references, such as A, CE, etc.
combined with the following operators, functions and defined
constants:
- Math - - Operation -
+ add
- subtract
* multiply
/ divide
% modulo divide
^ exponentiation
- Logical - - Resultant -
> 1 if x greater than y, else 0
< 1 if x less than y, else 0
- Function - - Operation -
ABS(x) absolute value
BESJ0(x) Bessel func first kind, order 0
BESJ1(x) Bessel func first kind, order 1
BESY0(x) Bessel func second kind, order 0
BESY1(x) Bessel func second kind, order 1
ACOS(x) arc cosine
ASIN(x) arc sine
ATAN(x) arc tangent
ATAN2(x) arc tangent of x/y
COS(x) cosine
COSH(x) hyperbolic cosine
EXP(x) exponential function
ERF(x) error Function
FAC(x) factorial
GAMMA(x) gamma function
GAMMAI(a,x) incomplete Gamma function
GAMMALN(x) log of Gamma function
IBETA(a,b,x) incomplete Beta function
LOG(x) natural logarithm
LOG10(x) base 10 logarithm
MAX(x,y) maximum of x and y
MIN(x,y) minimum of x and y
RAND(x) random number in range 0 to argument
ROUND(x) round to nearest whole number
SIN(x) sine
SINH(x) hyperbolic sine
SQR(x) square
SQRT(x) square root
TAN(x) tangent
13
CruX - User Guide
TANH(x) hyperbolic tangent
TCHEB(n,x) Chebyshev polynoial of degree n for x
TRUNC(x) whole part of number
- Variables & Constants - - Value -
PI 3.141592653589793238
@ value of current cell
Note: Trigonometric functions take arguments in either radians or
degrees as set by the Utilities / Angle Units command
Formulae are case insensitive in terms of both column and
operator reference; blank space is ignored. Some formula
examples are:
1.5^X * sin(X)
2*pi*R
abs(@)
((ab + RAND(5.0)) / ( 10^aa - e*1000.0)) * b^Y
abs ( TRUNC(b))
Formula calculations are applied to spreadsheet data series
using the Data / Formula command. CruX formulas define one
data series, or column, in terms of other existing columns
using the mathematical operators and function references. The
results of the formula evaluation are stored in the current
column.
Formula calculations progress from low to high row numbers
down the spreadsheet generating a resultant value for every
row containing valid data references. If one of the
referenced columns contains an non-data cell (i.e. text or
empty), the cell at the corresponding row in the result column
is empty; if evaluating the formula using the contents of a
row produces a computational error, an error string is
displayed in the result cell (See Appendix C for a full
description of evaluation error strings).
Other expressions that can be used as formulas are the equivalent
of data generation or fitting menu commands. These appear in a
column's formula field when you invoke these commands through
menu selections, or they can be entered directly into the column
formula field. They are particulary useful when you want to
recalculate a column that was created as the result of one of
these commands.
DATAGEN( Row, StartVal, EndVal, NumVals, LinearLog)
Equivalent to Data / Generate
Row - Starting row number
StartVal - Starting cell value
EndVal - End cell value
NumVals - Number of cells to generate
LinearLog - 0 for linear spacing, 1 for logarithmic
14
CruX - User Guide
FITLINEAR( Xcol, Ycol )
Equivalent to Curve Fit / Linear
Xcol - X data column
Ycol - Y data column
FITPOLY( Xcol, Ycol, Order )
Equivalent to Curve Fit / Polynomial
Xcol - X data column
Ycol - Y data column
Order - Order of fitted polynomial
FITLOG( Xcol, Ycol )
Equivalent to Curve Fit / Logarithmic
Xcol - X data column
Ycol - Y data column
FITEXP( Xcol, Ycol )
Equivalent to Curve Fit / Exponential
Xcol - X data column
Ycol - Y data column
FITSPLINE( Xcol, Ycol, IntrpCol )
Equivalent to Curve Fit / Spline
Xcol - X data column
Ycol - Y data column
IntrpCol - Interpolant data column
SMOOTH( Datacol, SmoothNum )
Equivalent to Curve Fit / Smooth
DataCol - Column of data to smooth
SmoothNum - Degree of smoothing:
1 = 5 point smooth
2 = 7 " "
3 = 9
4 = 11
5 = 13
When you use the Data / Formula command, you are presented with a
dialog box indicating the results column, and an area in which to
type a formula. After pressing <Enter>, CruX performs the
calculations and updates the spreadsheet.
If you later wish to edit or re-evaluate the stored formula, it
can be accessed with the Data / Formula command. CruX does not
automatically re-evaluate a formula if the columns it references
change in value.
The Data / Recalculate command can be used to quickly recalculate
the contents of a selected range of columns. Column formulae are
re-evaluated from left to right.
A formula entered directly into a cell stores the result of
that evaluated expression in the cell, but the formula text
itself is not stored.
15
CruX - User Guide
2.3.4 Working with Data Blocks
Most of the CruX spreadsheet commands, such as data graphing,
editing, curve fitting, etc., operate on a block of columns, rows
or cells. There are several ways you can express data block
selections to CruX.
If no other selection is active, CruX considers the current cell
to be the selected data block. To select a larger block of data,
position the cell cursor at one corner of the block, press the
<Ins> key, move the cursor to the opposite corner of the block,
and press the <Ins> key again to toggle selection expansion off.
While selection mode is on, SELECT appears in the lower right
corner of the screen. When selection mode is again off, the
cursor can be moved without affecting the selected block. To
select a different data block, simply press <Ins> again. If you
wish to deselect a block without selecting a new one, press the
<Ins> key twice in succession on the same cell.
Data block selections can also be made with a mouse. Press the
left mouse button on one corner of the block, and while holding
the button down, "drag" the mouse to the opposite block corner
and release. If a boundary of the block of data you wish to
select is outside the presently displayed range, moving the mouse
to the edge of the screen automatically scrolls the display in
that direction. Clicking twice on the same cell, "double
clicking", deselects any block.
Sometimes CruX asks you for a range of columns or a range of
rows. At these times it is not necessary to, for instance,
select all the rows in the range of columns of interest; a single
row is sufficient. Likewise for a range of rows.
Whenever you want to perform some operation on a cell range,
there are two ways of communicating this selection to CruX. You
can select the cell range and/or position the cell cursor prior
to invoking the CruX menu command, as discussed above. CruX
tries to interpret cell selections and cell cursor placement
"intelligently" for all commands that require them. Or you can
pick a menu command and make your cell selections from inside the
resulting dialog box.
Suppose you want to delete a range of cells. You type <Alt>E D A
to bring you to the cell range deletion dialog box. But you
forgot to pre-select the range of cells you intended to delete!
No problem. At the cell range prompt press <Ctrl><left> or
<Ctrl><right>, or click on the Select button with the mouse. The
dialog box disappears, and the cell range/position prompt from
the dialog is copied to the spreadsheet status line. You are now
free to select the desired cell block using any of the methods
discussed above. When you are satisfied with your selection,
16
CruX - User Guide
press <Enter> or click the right mouse button again to restore
the dialog box and continue with the delete command. This
technique works whenever you are being prompted for a cell,
column or row range, or a cell location.
2.4 Editing
To change the value of a single spreadsheet cell, you can
position the cursor on that cell and type the new value. Or, if
you press F2, CruX copies the contents of the cell to the status
line near the top of the screen where you can use the cursor
direction keys and other edit commands to change the cell
contents. (See "CRUX OPERATIONS AND USER INTERFACE - Menus and
Dialogs" above.)
2.4.1 Block Editing
Other spreadsheet editing functions are accessible from the Edit
pulldown menu for working with groups of cells.
The Edit / Insert menu selection allows you to add a new column
or row into an existing data set. A new column is inserted at
the current cell cursor location moving the current column and
all higher numbered columns to the right. Similarly, inserting a
new row at the current cell cursor location moves the current row
and all higher numbered rows down.
The Edit / Delete commands remove groups of cells from the
spreadsheet. Cells can be removed in ranges of columns with the
Edit / Delete / Column Range command. The selected column range
is removed from the spreadsheet, with higher numbered columns
shifting to the left to fill the formerly occupied space. Use
Edit / Delete / Row to remove a range of rows and shift higher
numbered rows up. The Edit / Delete / Cell Range command also
shifts higher numbered rows up to fill the vacancy left by
deleted cells, but only in the selected column range. To erase
the contents of a range of cells without changing the position of
neighboring spreadsheet data use the Edit Kill command.
A block of cells can be copied from one location to another with
the Edit / Copy command. The selected spreadsheet cells are
copied to a new location leaving the original cells unchanged.
Edit / Move transfers cells from one location to another. The
selected spreadsheet cells are moved to a new location; the
original cells are deleted with no rearrangement of adjacent
cells.
The last command under the Edit menu is Go to. This moves the
spreadsheet cell cursor directly to a cell location. You are
prompted for a cell column : row address.
17
CruX - User Guide
2.5 Data Files
2.5.1 Saving Your Data
Once you've generated your data, you probably want to save it
to a file for future reference. CruX saves the spreadsheet
contents and format information in a compact format that
transfers quickly to and from disk. Use the File / Save
command to save the spreadsheet to disk overwriting the
current file with new contents. This command is useful for
saving incremental changes during extended editing sessions.
If the spreadsheet you are working on does not have a name,
you are prompted to provide one.
If you want to save the spreadsheet to a different file, use
File / Save As to supply a new name.
2.5.2 Reading CruX Data Files
To read the contents of a previously saved CruX spreadsheet or
graph file, use the File / Open command. A dialog box appears
with a default filename template of *.cx? displayed in the Data
File Name field. You can type a file name over the supplied
default, or if you press <Enter>, a list of files with CXD and
CXG extensions will be displayed. Data files have an extension
of CXD, while graph files have an extension of CXG.
Opening a CXD file loads data into the spreadsheet cells.
Opening a CXG file also loads data into the spreadsheet, but then
immediately displays a graph based on that data. (Creating
graphs and saving graph files are topics discussed in section
4.3)
To select one of the displayed files, move the highlight to the
desired filename with the cursor keys, and press <Enter>. If the
list of files is larger than will fit in the selection box,
pressing <PgDn> will display the next "page" of file names. At
the end of the file list are directory entries; selecting a
directory with the <Enter> key moves to that directory and
displays a new list of files from that directory.
Once you have made a file selection, you are returned to the Open
File dialog box. Now pressing <Enter> will clear the current
spreadsheet and load the new CruX data file from disk. If you
have made any changes since you last wrote your data to a file,
you are reminded to save your spreadsheet before loading the new
one.
You can merge the contents of a data file into the current
spreadsheet by using File / Merge. This command loads a data
18
CruX - User Guide
file from disk starting at a specified location in the current
spreadsheet. Current values are not lost, unless the specified
merge location causes the new information to overwrite
existing data.
2.5.3 Importing Data from Other Sources
CruX also reads data files created by other programs. You can
import Lotus format spreadsheet files from 1-2-3, Symphony, or
many other spreadsheet programs that support the .WKS file
format. ASCII text data files from database programs, numerical
analyses or experimental data can also be directly read.
When importing a Lotus format file, you are prompted for a range
of cells to read. If you are not sure of the cell range you
want, just use the default range provided and remove unwanted
cells later.
A more widely compatible file exchange format is delimited ASCII.
When reading an ASCII text file, you need to specify what
character(s) are used to separate data values on a line (i.e.
commas, spaces, tabs, etc.). For instance, you might have an
ASCII file that looked like this:
0.00,12.32 128
0.50,14.76 134
1.00,16.47 154
1.50,15.11 192
You would then enter ", " or " ," (don't type the quotation
marks) as the Data Delimiters in the File / Import / ASCII dialog
box. CruX would then read the file and store 0.00 in cell A1,
12.32 in cell B1, 128 in C1, 0.50 in A2 and so on.
For data values separated by one or more spaces, just enter a
single space. Another commonly used delimiter is the tab
character; to specify it type "\t". As in the example above,
you can have multiple delimiters. If some of your data is
delimited by spaces, some by commas, and some by tabs enter
" ,\t".
Additional ASCII file reading features are documented in
Appendix A. This section tells you how to include plot titles
and column labels in an ASCII file, how to handle missing data
values, and other information.
19
CruX - User Guide
Both ASCII and Lotus files can also be merged into the current
spreadsheet similarly to CruX files as discussed above.
NOTE on File Name Templates:
You can use filename template to display files matching your
own criteria. Any valid DOS file specifier is allowed. For
example:..
- File template - - Will list -
*.* All files
*.dat Files with a "DAT" extension
ab*.dat Files whose names start with "AB" and have
a "DAT" extension
RUN3?5.DAT Files with any character in the position
between "3" and "5" such as RUN305.DAT,
RUN315.DAT, RUN3W5.DAT, etc.
2.5.4 Exporting CruX Data to Other Programs
Data from the CruX spreadsheet can be exported to a file for
transfer to database programs, other analysis programs or word
processors by use of the File / Export command. This will
write the spreadsheet to a file in delimited ASCII format.
You are prompted for a delimiter string, just as in the File /
Import / ASCII dialog box, which will be written into the file
to separate adjacent data values on a line.
20
CruX - User Guide
2.5.5 Other File Commands
The other commands found in the File pulldown menu are summarized
below:
File / Change Dir
Display the current working drive and directory. Change to a
new directory by moving to it and pressing <Enter>, or double-
clicking with the mouse.
File / Printer Setup
Specify the type of printer you are to use for printing
text and plots, and how it is connected to your PC.
File / COM Port
Set the communication parameters for ports COM1 and COM2.
This is only of interest if you are using a printer
connected to one of these ports.
File / Print
Print a spreadsheet cell range to a selected print device
(or file). You have the option to print in 80 or 132
column mode, and whether or not to include borders (i.e.
row and column labels).
File / DOS Shell
This command exits to DOS, where you can perform any
standard DOS function or run other programs (subject to
memory constraints). When you are ready to return to CruX,
type "EXIT" at the DOS prompt.
File / Quit
This command will exit CruX and return you to DOS. You are
prompted to save your data if any changes to the
spreadsheet have occurred.
21
CruX - User Guide
2.6 Display and Conversions
2.6.1 Display
The display format of the numerical data in the spreadsheet is
controlled with the View / Column Format command. A dialog
box is presented allowing you to specify the number of decimal
digits, column width, use of scientific notation, etc.
The heading displayed above each spreadsheet column can be
edited using the View / Column Heading command. This text is
also used as the default axis and legend labels on graphs.
If your PC supports more than the standard 25 lines of screen
text, you can display up to 50 lines by changing the setting in
the Utility / Screen Size dialog.
The display screen colors can be customized using the Utility /
Screen Colors command. Any color or screen size changes are
remembered when you exit the program and are used for all
subsequent sessions.
2.6.2 Conversions
CruX can perform a number of conversions on your data to simplify
working with dates and times, interaction with other programs and
graph display.
Cells contents can be converted from numerical values to text
strings and vice versa with the Utility / Number to Text and
Utility / Text to Number commands.
Dates can be converted between Day Counts and yymmdd Date values
with the Utility / Day Count to Date and Utility / Date to Day
Count commands.
Similarly, time values can be converted back and forth between
Time Fractions and hhmmss Time values with the Utility / Time to
HrMinSec and Utility / HrMinSec to Time commands. (See "Working
with Data - Data Types" for a discussion of date and time
formats).
22
CruX - User Guide
2.7 Data and Curve Fitting
2.7.1 Equation Fitting
CruX can fit data from any source to a number of "curve fit"
relations. How well do the thousands of data points from an
experiment really follow a linear trend? Or perhaps a low order
polynomial is a better fit. With CruX you can explore these and
other possible relationships.
To fit data to a straight line, use the Curve Fit / Linear
command. You are prompted for a X and Y Data Column and a
Destination Column. The resulting straight line fitted data
points corresponding to the original X data values are stored
in the Destination Column cells. The fitting equation
describing the slope and intercept of the fitted line is
placed in a cell immediately below the last data value in the
Destination Column along with the Standard Errors of the
fitted coefficients and the Coefficient of Determination.
The Curve Fit / Polynomial command fits data to a polynomial of
up to 8th degree in much the same way as linear curve fitting.
You are prompted for the same X and a Y Data Column and a
Destination Column, but in addition you are asked to provide the
order of the fitting polynomial equation. The resulting
polynomial expression and fitting information is stored in the
Destination Column.
Logarithmic and exponential data fitting is performed similarly
by the Curve Fit / Logarithmic and Curve Fit / Exponential
commands.
23
CruX - User Guide
2.7.2 Spline Fitting
The final curve fitting function in Crux is Spline, or "natural
cubic spline" fitting. Spline fitting performs somewhat
differently than the other data fitting functions discussed
above. A spline fit passes through all data points with "smooth"
transitions in between. Therefore, a spline fit is only useful
for interpolating between existing data points. In fact, it
often behaves pathologically outside of this range.
When you select the Curve Fit / Spline command you are prompted
for the same X and Y Data Column and a Destination Column as with
the other data fitting commands. But additionally, you need to
specify an Interpolant Column. Values in the Interpolant Column
specify X values at which to calculate spline interpolated Y
values to be stored in the Destination Column. The Interpolant
Column will typically contain many more points than the X Data
Column.
There is no resultant formula or correlation statistics from a
spline fit.
2.7.3 Smoothing
Sampled data with "noise" can be smoothed by the Savitsky-Golay
technique with the Data / Smooth command. This technique uses
convolution where each data point is recalculated as a weighted
average of its original value and the surrounding data points.
The degree of smoothing is determined by the number of
neighboring data points used to calculate the new smoothed value.
The greater the number of points used, the smoother the resulting
data.
When smoothing a data set, some points at the beginning and
end of the source data are "lost" to the smoothing process. A
5 point smooth "consumes" two points at the beginning and end
of the data set; a 7 point smooth consumes three points at
each end; a 9 point smooth consumes 4, etc.
The smoothed data values are stored starting in a new user
specified column. The original data is unchanged.
24
CruX - User Guide
2.8 Other Data Manipulations
CruX has a number of data manipulation commands useful for
rearranging, sorting and generating blocks of data.
2.8.1 Extraction
If you have experimentally acquired and imported a large file
into CruX that has more data points than are necessary, you
can extract a representative subset of this data block to a
new area of the spreadsheet. The Data / Extract command
extracts values from a selected cell range by skipping a
specified number of cells in each column. The extracted
values are stored starting in a new user specified location.
The original cells are unchanged.
2.8.2 Sorting
Key Sort: A cell range may be sorted according to the values
in a key index column using the Data / Key Sort command. The
selected range of cells are sorted in ascending or descending
order using the values in the key column as an index for all
the cells in that row . The data is sorted "in place" in the
selected block requiring no extra columns.
Frequency Sort: You can sort the data from a column by
frequency of occurrence with the Data / Frequency Sort
command. The number of data values in a column falling into
specified "bin" ranges are tabulated and stored into a new
specified column. The bin range values are provided in a
separate column.
For example, the result of a Frequency Sort on column A using
bin values from column B and storing the results into C are:
A B C
1 1.1 0.5 0 zero values of A < 0.5
2 1.3 1.0 0 zero values>= 0.5 and < 1.0
3 1.6 1.5 3 three values>= 1.0 and < 1.5
4 1.5 2.0 2 two values>= 1.5 and < 2.0
5 2.0 3 three values>= 2.0
6 2.3
7 2.1
2.8.3 Transposition
Use the Data / Transpose command to matrix transpose a block of
cells. The selected block of cells is transposed in place.
25
CruX - User Guide
2.8.4 Data Table Generation
In order to generate a table of data over multiple columns you
can issue a Formula / Generate command in each individual
column, or you can use the Data / Table Generation command on
a range of columns simultaneously.
This command is similar to generating a data series with a
Data / Formula command, except that multiple columns of data
are produced. The input formula expresses the mathematical
relationship between the columns to be generated and existing
columns as usual, but with the addition of a new parameter
"#", which represents a value from a specified spreadsheet
row.
To generate a Table, you must supply a range of cells to place
generated values in, and a Series Data Row in this range. The
Series Data Row is a row of data values that spans the width
of the table to be generated. Wherever # appears in the
formula, the numerical value of the table Series Data Row in
the associated column is substituted.
For example the formula: 2*# - A produces the following table:
A B C D
1 3.0 5.0 6.0 <--Series Data Row
******************
2 2.0 * 4.0 8.0 10.0 *
3 3.0 * 3.0 7.0 9.0 *
4 4.0 * 2.0 6.0 8.0 *
5 5.0 * 1.0 5.0 7.0 *
******************
******
* * Range of Table Generation
******
26
CruX - User Guide
2.8.5 Regular Grid Generation
You would like to produce a contour plot of a data set, but your
data was obtained by a sampling of Z values at random X,Y
locations. How can you translate the data into a regular X,Y
grid of contour values? That's what the Data / Regular Grid
command is for!
The Data / Regular Grid command produces a regular grid of Z
values as a function of X and Y from three columns of randomly
arranged X, Y and Z data triplets.
You are prompted for a X Data Range, Y Data Range and Z Data
Range. In each of the given rows, the Z value is assumed to
be a function of the X and Y values. The values in these
ranges need not be in any particular order.
Additionally, you are prompted for a Regular Grid Dest. Range
and a Regular Grid X Row and Regular Grid Y Column. The
Regular Grid Dest. Range is the range of cells into which the
"regularized" grid of Z values will be written. These
regularized Z values will correspond to the X and Y values in
the Regular Grid X Row and Regular Grid Y Column.
For example:
A B C D E F G H
1 0.5 5.3 35.9 1.0 2.0 3.0 4.0
2 1.2 4.2 48.6 1.0 **********************
3 3.3 3.8 47.1 2.0 * E2:H8 is the range *
4 2.7 2.1 36.4 3.0 * into which the *
5 4.3 1.9 25.0 4.0 * "regularized" Z *
6 3.8 5.3 33.2 5.0 * values will be *
7 1.9 6.3 47.2 6.0 * written. *
8 2.2 4.1 22.3 7.0 **********************
/\ /\ /\ /\
| | | -- Regular Y Grid Column
X Y Z
Data Data Data
Column Column Column
The values in the Regular Grid are computed by examing every
X,Y,Z data triplet for each cell in the destination grid. The
radial distance of the X,Y,Z triplet from the the cell location
is computed and it's Z value contributes to a weighted average
used to determine the Regular Grid Z value. A percent complete
window keeps you informed of the calculation's status.
27
CruX - User Guide
2.8.6 Integration and Summation
CruX can perform definite integration over a range of cells
with the Data / Integrate command. CruX uses values from a dx
Data Range and a Y Data Range, and the trapezoidal rule to
calculate an integral. The intervals between Y, dx values do
not need to be uniform; you can use a smaller dx step where
your function is changing rapidly to obtain better accuracy.
The results are stored in a user specified destination column.
Straight summation can be performed on a column as well with
Data / Summation.
2.8.7 Differentiation
The 1st order approximation of the derivative is available in
CruX through the Data / Differentiate command. You are
prompted for a dx Data Range and a dy Data Range, with the
results placed in a user specified column. As with
integration, the intervals between dx, dy values do not need
to be uniform.
2.8.8 Summary Statistics
A number of summary statistics can be easily calculated for a
column with the Data / Statistics command; minimum, maximum,
range, mean, variance, standard deviation, mode, standard error
of the mean, skewness and kurtosis. The results are stored as
text cells at the end of the column for which the statistics are
calculated.
28
CruX - User Guide
3.0 CRUX UTILITIES
3.1 Macro Recording and Playback
One of CruX's more powerful features is a macro record/playback
capability. Any sequence of keystrokes/mouse events can be
recorded as a macro file. These keystrokes can later be re-played
from the macro file to repeat the same operations. The macro
file also records the process of exiting CruX, which is useful
when creating a batch file to process multiple data files.
The macro Recorder is turned on with the Utilities / Macro
Record command. You are prompted for a file in which to store
the macro. Recording begins immediately after you have
specified the file name, and continues until turned off by re-
issuing the Utilities / Record Macro command, or you exit
CruX. During the macro recording sesion RECORDING is
displayed in the lower right area of the screen.
To play back a previously recorded macro, use Utilities /
Playback Macro. You are prompted for a macro file name, and a
delay time. The delay time is the number of milliseconds CruX
waits after reading each keystroke from the macro file.
Playback begins immediately after you select the file, and
continues to the end of the macro. Another useful way of
playing a macro is with the command line switch -M <macro
filename> (See "CRUX OPERATION AND USER INTERFACE - The
Command Line" above).
29
CruX - User Guide
3.2 Printer Setup
The output device for printing CruX text and graphs is selected
with the File / Printer Setup command from the Spreadsheet
screen, or with the Graph / Printer Setup command from the Page
Layout screen. Through this dialog you can also specify the
print resolution and destination of the printing commands.
Select a printer or plotter from the list of 14 supported
devices. This list includes laser printers, PostScript, color
printers and pen plotters. If you don't see your particular
printer, check the documentation supplied by your printer
manufacturer to see if it is compatible with one of the listed
devices.
All of these devices support multiple resolution modes, with the
exception of the PostScript device which uses print instructions
that are independent of output resolution. The available
resolution choices are:
Low - Fastest printing.
Medium - Quick printing, better quality.
High - Publication quality output, but slowest.
A destination port for the print commands CruX generates needs to
be specified. This destination can be one of the physical ports
on your computer to which a printer is attached, or a disk file.
Print commands stored as a file are useful for including CruX
output in other documents. The available choices for Port are:
LPTA: (1) - Parallel port 1
LPTB: (2) - Parallel port 2
COM1: - Serial port 1
COM2: - Serial port 2
File - You are prompted for a file name
If you are using a printer connected to port COM1 or COM2, use
the File / COM Port command to set the communication
parameters for these ports.
30
CruX - User Guide
4.0 DATA GRAPHING AND DISPLAY
Once you have all your calculations, data editing and curve
fitting completed, you might like to display your data
graphically. CruX provides a number of graph types and editing
commands to give you true presentation quality plots.
Some of CruX's graphical capabilities discussed in the following
sections are :
∙ Multiple graphs with up to 20 curves per graph and 1000's of
data points.
∙ 2-Dimensional (X versus Y) and 3-Dimensional (Contour and
Surface) graphs.
∙ Pie and Bar graphs.
∙ Extensive control of display characteristics.
∙ Overlaying new curves on existing graphs.
∙ Positioning multiple graphs on the hardcopy output page in a
true WYSIWYG (What You See Is What You Get) display.
∙ Saving and restoring display and print configurations .
4.1 Selecting Graph Type and Data Columns
4.1.1 2-Dimensional Graphs
To produce a graph of your data, first select a graph type
from the Gallery pulldown menu. If for example, you select
Gallery / Scatter, you are presented with a dialog box
prompting for X and Y Data Columns. Values from these columns
will be plotted as a series of symbols at the X, Y coordinates
found in each row of the selected range.
If you specify more than one column for X and multiple columns
for Y, the first X column will be paired with the first Y
column, the 2nd X with the 2nd Y, etc. If there are more Y
columns than X columns, all the "extra" Y columns will be
paired with the last X column.
If this is not the first graph defined, you are additionally
asked whether to overlay these curve(s) on one of the
existing graphs.
Upon completing the entries in the dialog box and pressing
<Enter>, you are presented with an automatically scaled graph
of your data displayed on the Graph Edit screen. This screen
has a new set of menu commands across the top which we will be
exploring in the next section. For now, let's return to the
Gallery pulldown menu and examine the rest of the graph types
available in CruX.
31
CruX - User Guide
To produce a graph where your data points are connected by
straight lines without any symbols, use the Gallery / Line
command. Or, if you would like both symbols and connecting
lines, use Gallery / Chain.
For a bar graph, use Gallery / Bar. With this graph, if you
specify multiple Y columns for a single X the Y vertical bars are
grouped together at the X location.
Use the Gallery / Pie command to produce a pie graph. The "x"
values specify the offset from the center of the pie for each
slice in radius percentage; e.g. 0 positions the tip of the slice
at the center of the pie, 50 moves the slice tip out to 50
percent of the pie radius.
4.1.2 3-Dimensional Graphs
Contour and Surface are completely different graph types.
(Remember the Data / Table Generate and Data / Regular Grid
commands? Well, here's where we'll be using those results.)
Both the Gallery / Contour and Gallery / Surfacecommands
prompt for a range of cells containing X (horizontal axis), Y
(vertical axis) and Z ("elevation") data. For a Contour graph
the Number of Contours can also be specified in this dialog.
If you pre-select a block of cells (with either the mouse or
keyboard) the default ranges for the X Axis Data is the first
row in the selected block of cells, the Y Axis Data is the
first column, and the Z values are the remainder.
For example, if the range of cells from A1 through E6 are
selected, the X, Y and Z regions would be automatically
selected as shown:
A B C D E
1 1.0 2.0 3.0 4.0 < -- X Axis Data
Values
2 1.0 *******************
3 2.0 * Z "elevation" *
4 3.0 * surface values *
5 4.0 * in range B2:E6 *
6 5.0 *******************
/\
-- Y Axis Data
NOTE:Contour and Surface graphs can not be overlaid.
32
CruX - User Guide
4.1.3 Graph Templates
Once you've decided on a graph type, line and symbols styles,
colors, fonts, etc. CruX can save this information and apply it
to a new set of data. (We'll see how to save Graph Templates in
the next section).
The stored set of graph specifications is a Graph Template and
can be applied to a data set by use of the Gallery / Graph
Template command. This command produces a graph formatted with
all display parameters set to the Template specification
including axis ranges, Symbol and Line specifications, title and
label text, etc. In short, the only thing that is different is
the actual data values.
To use a previously saved template, use the Gallery / Select
Template command to load a template file. Template file
selections are displayed in a file dialog box. The template file
you choose will now be displayed in the Gallery pulldown menu
preceded by "T =". To use this template, pick this selection
from the menu and respond to the subsequent dialogs as usual.
The only command in the Gallery pulldown menu we haven't
mentioned is Graph Edit. This command is only available if you
previously created a graph with one of the other Gallery
commands. Selecting this command takes us to the Graph Edit
screen, which we will now explore in the following sections.
4.2 Graph Editing
The Graph Edit screen allows you to...
∙ Re-size and position the graph and graph legend
∙ Move, add, delete and format axes
∙ Zoom in or out to view data ranges of interest
∙ Change the view point for Surface plots.
∙ Change the graph line, symbol, grid axis and other plot
attributes
∙ Edit data points and formulas graphically
∙ Edit and add text annotations to a data point
∙ Save and recall graphs and graph templates
Access to these and other CruX capabilities are through the same
menu and dialog interface as used in the spreadsheet screen. In
addition, the Graph Edit screen features an additional menu bar
for quick access to frequently used functions such as Select,
Zoom, Unzoom, etc.
The left portion of the menu bar shows which one of up to five
graphs you are presently viewing. The status bar at the bottom
of the screen displays the current Template file, and when in the
Data view mode, shows the coordinates of the mouse cursor.
33
CruX - User Guide
4.2.1 Graph and Legend Positioning
CruX allows you to directly manipulate the placement and size of
the principal graph elements with a pointing device when in
Select mode (the default upon entering the Graph Edit screen).
To change to Select mode, click on Select in lower menu bar, or
type <Alt>S.
The graph size and position with respect to the graph "frame" can
be set using the mouse. If you don't have a mouse, you can use
the cursor keys; see Appendix B for information on how to use the
cursor keypad as an emulated mouse. This allows you to change
the size of the graph in relation to its legend, and with respect
to other graphs when combining multiple graphs on a printed page.
The legend can be positioned relative to the graph for clearer
display of data points.
To select either the graph or the legend for re-positioning,
click on it with the left mouse button. A selection rectangle
appears around the graph's data region with a Re-size box in the
lower left corner. By clicking and dragging inside this border,
you can re-position the graph. When you click and drag in the
Re-size box, the upper left corner of the graph selection
rectangle is anchored and the size of the graph may be changed.
To deselect the graph, click anywhere outside the selection
rectangle and the border disappears.
To re-position the graph legend, click on it as for the graph
data region. Click and drag inside the legend selection
rectangle to move it.
4.2.2 Data Zooming
CruX allows you to "zoom in" on a data region of interest using a
mouse or cursor keys. Select Zoom from the secondary menu bar
with the mouse, or by pressing <Alt>Z. Then use the mouse or
cursor keys to draw a rectangle around the data region you want
to see in greater detail. The graph will be re-displayed with
new axis ranges reflecting the reduced display area.
To "zoom out", or expand the displayed data range, use the Unzoom
command, or type <Alt>N to switch to un-zoom mode. The re-scaled
axes' values are compressed to fit within the selected
rectangular area.
Select View All from the lower menu bar (<Alt>V) to set the X, Y
(and Z) axes to include all the data points in the view area.
34
CruX - User Guide
4.2.3 2-Dimensional Graphs
4.2.3.1 Data Point Editing
To enable Data Point Editing, choose the Point item in the menu
bar. Notice that in Point mode the mouse cursor changes to a
cross hair symbol and the X and Y coordinates are displayed in
the status bar at the bottom of the screen (except for Pie
graphs).
To change the data values of a point, select a data point symbol
with the left mouse button, and then click and drag it to a new
location. The corresponding spreadsheet cell contents are
automatically updated.
NOTE :If you want to edit a data point, but no symbol is
displayed for it (i.e. it is a Line or Area graph), you
need to first set a symbol type with the Curves /
Symbol Attributes command. When you are satisfied with
your data and want to restore the previous curve
attributes use the Curves / Symbol Attributes command
to return the symbol type to "-None-".
To add a new data point to a data series, use the Data / Point
Insert command to turn point insertion mode on. Then, select a
point with the left mouse button to define the series, and click
with the right mouse button where you want the new point. The
new point is inserted into the spreadsheet series ahead of the
currently selected point. If you want to insert a new point
after the selected point, hold down the <Shift> key while
clicking the right mouse button.
Points can be removed from a curve in two different ways. First,
select a point with the left mouse button. (If no point is
selected the menu items for point deletion are disabled.) Use
the Data / Delete Point command to completely remove the X and Y
components from the spreadsheet, leaving no gap in the
spreadsheet data columns or the graph curve.
Alternatively, the Data / Kill Point command deletes only the Y
component of a data point leaving the X component unaffected.
This does leave a gap in the spreadsheet Y column and in the
graph curve. Note that this command also leaves unaffected any
other curves that may be using the same X data column. Using the
Data / Delete Point might remove a X component in use by other
curves causing a X-Y mismatch in successive points.
35
CruX - User Guide
For Pie graphs these commands behave differently. Select a pie
slice as you would a data point symbol; notice that the selection
rectangle is sized to completely enclose the slice. Moving the
selected slice affects only the pie slice offset from the center
- the size of the slice remains unchanged. Slices can not be
added to a pie, but they may be "Killed". When a slice is
Killed, the pie total is recalculated so there is never a missing
slice.
4.2.3.2 Data Formulas
You can inspect and modify column formulas for the X and Y
components of a curve directly from the Graph Edit view when in
Data Point editing mode. First, specify which curve's formulas
you wish to edit by selecting a data point in a curve, or
selecting a line/symbol marker in the legend. (If no point is
selected the menu items for working with curve formulae are
disabled.) Use Data / X Column Formula to edit the X component
of the selected curve and Data / Y Column Formula for the
vertical component. Exiting either dialog box with OK
recalculates the formula and updates the spreadsheet. The curve
is also immediately redisplayed.
To quickly recalculate both the X and Y components of a curve use
the Data / Recalc Curve command. This command is particularly
useful for restoring a curve to its original state after
rearranging data points.
4.2.3.3 Line Attributes
The Curves / Line Area Attribs command allows you to specify the
line attributes of any curve in the current graph.
You are presented with a multiple-line dialog box, each line of
which shows the current Line and Area attributes of a curve. To
move from one field to the next horizontally, use the <Tab> and
<Shift><Tab> keys; to move vertically use the <up> and <down>
arrow keys. If there are more than five curves in the graph, you
can scroll new curve information into the dialog box with the
<PgUp> and <PgDn> keys.
Some of the fields, such as Thickness, contain a numerical entry;
to change the value simply type in a new number. If you enter a
value that is too large or too small, an informative message is
displayed telling you the allowable range. Other attributes,
such as Style, are controlled with list boxes.
When you have completed making all your changes, close the
dialog, and the graph is immediately re-displayed with your
changes.
36
CruX - User Guide
The Line / Area attributes are:
Style Select from list of Solid, Dashed, Dotted, or
Chain-Dashed
Thickness Enter values from 0 through 30
Color Select from color palette (varies depending on
video card in use)
Fill Ptrn Select from list of None, Solid, Line, LtSlash,
BkSlash, LtBkSlash, CrossHatch, Interleave,
WideDot, and CloseDot
4.2.3.4 Symbol Attributes
The Curves / Symbols command is used similarly to control the
display characteristics of curve marker symbols. The Symbol
attributes are:
Type Select from list of None, Circle, Square,
Triangle, Inverted-Triangle and Diamond.
Size Enter values from 0 through 15
Color Select from color palette
Fill Ptrn Select from list of None, Solid, Line, LtSlash,
BkSlash, LtBkSlash, CrossHatch, Interleave,
WideDot, and CloseDot
Freq Enter value for interval number of data points
that display a symbol (i.e. a value of 3 draws
a symbol only for every 3rd data point)
37
CruX - User Guide
4.2.3.5 Error Bars
To attach or change error bars for a curve, use the Curve /
Error Bars command. You are presented with a dialog box
prompting for a X and Y Error Bar Column for each curve. This
column in the spreadsheet is used as the error bar
displacement from the base data point. The sign of the values
in this column are ignored when displaying the error bar
marks.
The line specifications for the error bar marks are the same
as in the Curve / Line dialog.
4.2.3.6 Text Annotation
To add a text annotation to a data point, you must first
associate a Text Annotation Column with a curve. Use the Curves
/ Column Annotation command to do this. CruX will use any text
in this column as annotations for the specified curve, and will
store any changes or additions to the annotations there as well.
To add an annotation to a particular data point, select the point
and choose Curves / Pt. Annotation. (If no point is selected the
point annotation menu item is disabled.) A dialog box is
displayed allowing you to enter text, change font and text size,
and control other attributes of the annotation. To edit a text
annotation, select the text with the left mouse button, then
click on it with the right button.
The location of the annotation text may be changed by clicking
and dragging directly with the mouse
38
CruX - User Guide
4.2.4 3-Dimensional Graphs
When editing the graph characteristics of a Contour or Surface
graph, most of the menu choices are the same and produce the same
results. However, some elements of 3-D graphs are essentially
different than line graphs and CruX handles them differently.
4.2.4.1 Line Attributes
The Curve / Line Attributes command for a Contour graph, or
Surface / Mesh Attributes for a Surface graph, allows you to
change line characteristics similarly to a line graph, but these
line attributes now apply to the various contour level curves or
mesh lines instead of to X-Y curves.
4.2.4.2 Contour - Surface Z Levels
You can edit the number of Z levels and their respective values
to completely control the alter the appearance of the plot
contour lines.
The Curve / Number Contours command prompts for the number of
contour levels the range of Z values in the contour graph are
divided into. The new contour level values are evenly
distributed across the minimum to the maximum Z value range with
the interval calculated as:
(Maximum Z - Minimum Z) / (Number of Contour Levels - 1).
The Surface/ Surface Type command selects the type of surface
representation as well as the number of Z levels used when
rendering the surface . Some surface types automatically set the
number of Z levels; e.g. choosing Top/Bottom Area sets the Number
of Z Levels to 2.
Individual Z level range values can be changed with the
Contour / Level Values or Surface / Level Values commands.
All the Z level values are displayed in a dialog where they
can be edited directly. Changed values will also be reflected
in the legend.
39
CruX - User Guide
4.2.5 Graph Formatting
NOTE:The graph editing and formatting capabilities discussed
in the following sections apply similarily to both 2
and 3 dimensional graphs. Differences are noted
wherever they apply.
Since CruX graphs can have multiple X and/or Y axis, you specify
which axis you want to modify with the X-Y Axis / Current Axis
command. The current axis value is shown to the right of the
pulldown menu selection. (Multiple axes not available for
Surface graphs).
4.2.5.1 Axis Labels
The label associated with an axis can be changed with the X (or
Y) Axis / Label command. You are presented with a dialog box
that allows you to change the axis label text, font and size.
The X-Y Axis / Number Format command allows you to change the
character font, size and numerical format used to display numeric
labels on either of the axes.
4.2.5.2 Axis Range
The actual values of the axis minimum, maximum and label
intervals are accessed with the X-Y Axis / Values command.
Besides the value of the axis endpoints, the dialog box has
fields for Major and Minor Tick intervals. Major Tick intervals
have labels, Minor Ticks have just tick marks.
The X-Y Axis / Full Scale command reset the axis values to
include all the data points in the current graph. The axis
maximum, minimum and interval values are automatically
recalculated. (The View All command on the lower menu bar
invokes the Axis / Full Scale command for both the X and Y axes
simultaneously)
4.2.5.3 Axis Format
(Not available for Surface graphs)
An axis' format, including position, linear or logarithmic scale
type and tick mark display can be changed with the X-Y Axis /
Format command. The location of an axis can be specified as a
40
CruX - User Guide
percent of the orthogonal axis length, or in character units
(points) from an edge of the data region. When changing the axis
scale to a new type, e.g. from Linear to Logarithmic, the axis
maximum, minimum and interval values are automatically
recalculated.
New axes can be added to a graph for illustrative purposes with
the X-Y Axis / Add New command. This new axis can be modified
with the X-Y Axis commands just as any other axis after selecting
it as the Current Axis.
4.2.5.4 Grid Selection
The Graph / Grid Format command allows you to specify whether or
not you want a grid displayed at the major and/or minor
intervals, and the line characteristics used to draw the grid
lines for X, Y and Z axes.
4.2.5.5 Graph Background and Border
The Graph / Background and Border command allows you to control
the color and fill pattern of the graph data area background and
line characteristics of the data area border. For Surface
graphs, these attributes are separately accessible for each of
the three background planes.
4.2.5.6 Legend Display
The Legend / Options command allows you to specify whether or not
you want a legend, and if the legend should have a border.
Change the Legend Header text, font and size with the Legend /
Header command. The text of legend entries is editable with
the Legend / Text command. The text of each legend label may
be changed individually; the font and size of the legend text
is specified as a block.
41
CruX - User Guide
4.3 Graph Templates
A powerful feature of CruX is the ability to save to disk, and
re-apply to new data, two levels of graph formatting information,
or Graph Templates.
4.3.1 Saving and Loading Templates
When you wish to save the "look" of a graph (i.e. line and
symbol selection, axis range and labels, etc.) for future
recall, use Template / Save. You are prompted for a file name
into which the Graph Template is saved.
To load a Graph Template specification from disk and apply it
to the currently selected graph, use Template / Load, which
will prompt for a template file name.
4.3.2 Removing a Template
If you want to remove the graph template attributes that were
just loaded from a template file and applied to the current
graph, use the Template / Remove. The graph display is
returned to the state previous to applying the template.
(This command is only available when a graph's template has
been changed after initial creation; you can not remove the
graph' s original Template.)
4.3.3 Setting a Default Template
The Default Template is the graph format specification applied
to each newly created graph. This information is applied at
one of two different levels depending on the graph type
selected with the Gallery pulldown menu.
If the graph selected from Gallery is one of the six base
graph types (i.e. Line, Scatter, Chain, Bar, Contour or
Surface), the Default Template defines the font, character
sizes, grid type and color and all other "data independent"
display parameters. CruX still auto scales the X, Y and Z
axes to the full data range, and legend text is determined by
the Column Headings and graph type.
However, if the Template Graph is selected from Gallery (shown in
the pulldown menu as "T=<filename>" where "filename" is the name
of the template file), everything but the actual data values will
be set as in the Default Template specification. This does
includes X and Y axis ranges, and title and legend text.
42
CruX - User Guide
The Template / Default Template command saves the currently
active graph format (loaded from a Template file or specified
with menu commands) as the Default Template.
43
CruX - User Guide
4.4 Graph Files
A convenient means of saving a complete graph specification,
including a reference to data displayed by the graph, is provided
in Graph files. A Graph file is essentially a combination of a
CruX data file name, a graph template, and the relationship
between them; i.e. which spreadsheet columns are plotted using
the template.
4.4.1 Saving and Loading Graph files
When you wish to save a complete graph specification for future
recall, use Graph / Save Graph. You are prompted for a file name
into which the Graph file is saved.
To load a Graph file from disk, use Graph / Save Graph, which
will prompt for a graph file name. This will change the
contents of the spreadsheet, so you will be reminded to save
any changes to the currentl spreadsheet before loading the new
Graph file. Graph files may also be opened using File / Open
from the spreadsheet screen, or by giving the Graph file name
on the DOS command line when starting CruX.
44
CruX - User Guide
4.5 Miscellaneous Graph Format Functions
4.5.1 Graph Selection
CruX can maintain up to five graphs in memory at once. To switch
the Graph Edit screen to display one of these graphs, use the
Graph / Select Current Graph command. You are prompted for the
number of the graph you wish to view, with the number of
currently available graphs indicated.
If you want to remove a graph from memory use the Graph /
Delete Graph command. You are prompted for the number of a
graph to delete. Higher numbered graphs move down to lower
numbers to fill any gap created in the graph list numerical
sequence.
4.5.2 Data Clipping
By default, CruX clips all data points to the region defined by
the X and Y axis range limits. If, however, you wish to allow
curves or data symbols to be drawn outside the limits of the axes
the Graph / Data Clipping command allows you to enlarge the
region in which data points are displayed. You can also reduce
the clipping region if desired.
4.5.3 Titles
Up to three lines of text can be displayed as a graph title. The
title text, font and size can be edited individually with the
Graph / Graph Title command.
4.5.4 Page Layout
When your graph(s) are ready to be printed, the Graph / Page
Layout command switches CruX to the WYSIWYG page layout and print
preview screen. This screen allows you to select and position
graph(s) in Page Preview layout mode, and is discussed further in
the Page Composition and Printing section.
45
CruX - User Guide
5.0 PAGE COMPOSITION AND PRINTING
5.1 Graph Positioning Layout
When you select Page Layout from the Graph pulldown menu, a
WYSIWYG page composition screen is displayed. The Preview Page
is on the left displaying the last viewed graph(s) as the page
would be printed; other available graphs are to the right.
The position of a graph on the Preview Page is controlled with
the mouse or cursor keys in the same way the graph and legend
locations were changed in the Graph Edit screen.
To remove a graph from the Preview Page, click on it to select
it, and then drag it off to the right. To change the size of a
graph, click and drag in the graph's Re-size box. Add a graph to
the Preview Page by dragging it onto the page. Only the graphs
that are completely on the Preview Page will be printed.
Occasionally, when rearranging graphs on the Page Layout screen,
the background of a graph may be drawn in an unexpected color.
This is most likely to happen when a graph is only partially on
the Preview Page. To redisplay the screen correctly select
Refresh from the menu.
Page Layouts can be saved and restored much like Graph Templates.
From the Layout menu choose Save or Save As to store the present
graph arrangement as a Layout file. Open a Layout file to
instantly position your graphs as previously saved.
5.2 Page Selection
Three different page size/orientations are supported by CruX.
The Page Orientation selection from the Layout pulldown menu
shows the available choices:
Half-Page - Print selected graph(s) on one half of a
portrait oriented page. Print area dimensions
are typically 8.0" horizontally, 5.0"
vertically.
Portrait - Print selected graph(s) in a full page portrait
orientation. Page dimensions are approximately
8.0" horizontally, 10.0" vertically.
Landscape - Print selected graph(s) in a full page
landscape orientation. Page dimensions are
10.0" horizontally, 8.0" vertically.
When a change is made to the Page Orientation, the Preview Page
updates accordingly.
46
CruX - User Guide
5.3 Output Device Selection
The Graph / Printer Setup dialog is the same as that described
above in the Files section. It is duplicated in the Page Layout
screen for convenience.
5.4 Page Printing
The Graph / Print command sends the page image to the selected
output device. A dialog box is displayed showing the print mode
and destination and a cancel message. A status indicator at the
top of the screen shows the progress of the print operation.
47
CruX - User Guide
6.0 SUMMARY OF CRUX FILE TYPES
CruX recognizes a number of file formats, some unique to CruX and
others that can be read and written by many other programs.
Spreadsheet data files are normally stored in a compact format
unique to CruX which has a default file extension of CXD.
Worksheet files produced by Lotus 1-2-3 compatible programs can
be read directly into the CruX spreadsheet. These files
typically have an extension of WKS or WK? (where "?" is a
number), but can vary depending on the program that produced the
file. Consult the documentation of the program which produced
the file if you are unsure.
All the file types read and written by CruX are briefly
summarized below:
- File Ext. - - Description -
CXD CruX unique data file containing numeric, and
text data with spreadsheet display format
information.
CXG CruX unique data file containing full graph
specification including a full file/path to a
data file (.CXD).
TPL Graph Template file containing graph Line,
Symbol, Area, etc. information as well as
axis and title specifications.
LYO Page Layout file containing graph size and
position information.
WK? WKS or WK1, WK2, etc. spreadsheet data files
produced by a Lotus compatible program.
PRN Any ASCII delimited data file that can be
read or written by (default)CruX . The
actual file extension is irrelevant, PRN is
merely supplied as a default. See Appendix A
for detailed information.
INI CruX initialization file containing screen
size, color assignments, registration IDs and
other miscellaneous information.
48
APPENDIX A - ASCII Data File Format
CruX can read ASCII files containing numeric and text entries
directly into the spreadsheet. Multiple values on a single line
in a file are stored in the same row of the spreadsheet. These
row values are separated in the ASCII file by user specified
delimiter character(s).
A missing row value is signified with an asterisk as a "place
holder". For example, when using a comma delimiter and the third
of six values in a row is missing, the corresponding line in the
file would look like:
1.22, 34.98, *, 54.66, Time = 45.0 sec, 1.03e-6
/\
-- Missing Value
Notice that extra space characters are allowed between data
values even if the space character is not specified as a data
delimiter. In fact, for this example, you would not want to use
a blank as a delimiter since it would incorrectly break up the
text comment in column 5.
When your ASCII file includes text and numeric values, CruX
automatically determines the type of data stored in a cell. If
the character string read from the ASCII file contains only
numbers, it will be stored as a numeric value.; if the string
contains any alphabetic characters, it will be stored as text.
If some rows contain more data values than other rows, it is not
necessary to "pad" the ends of the shorter rows with asterisks.
More than just cell data can be contained in an ASCII import
file. CruX will optionally recognize up to the first three lines
of a text file as a graph title(s) if the first character on the
line is an asterisk "*". If any title lines are present in the
file, i.e. any of the first 1-3 lines start with "*", then the
next line will be read as column headings.
NOTE:To avoid the possibility of confusing the first row of
data in an ASCII file as title text if the first value
of that row happens to be empty (as signified with an
"*"), proceed possible empty values with a space. As
noted above, space characters are always allowed even
if they are not specified as a data delimiter.
Column headings are separated by either a tab or # character;
the Data Delimiter as entered in the File Import dialog box is
not used to parse heading text. This means that if you are using
spaces or commas as data delimiters, individual column headings
may still contain comma and space characters. However, "#" and
tab characters can never be part of the column heading text. An
empty column header is specified with "@@".
The ASCII file format used by CruX for importing data into the
spreadsheet is summarized below:
CruX ASCII file format Example:
- Line - - Contents-
1 *title line1 text
2 *title line2
3 *title line3
4 (column heading 1)(tab or #)(heading 2)(tab or #)...
5 (value a1)(delimiter)(value b1)(delimiter)(value
c1)...
6 (value a2)(delimiter)(value b2)....
. .
. .
. .
Lines 1-4 are optional. You may have 0-3 title lines beginning
with "*". However, if you have 1-3 title lines, the line after
the last title line is read as a column heading line. Delimiters
between cell values may be space or comma, or any other character
specified in the File / Import / ASCII dialog. A blank column
heading may be specified with "@@".
APPENDIX B - Keyboard Mouse Emulation
If CruX does not detect a mouse attached to your computer, it
will emulate mouse functions through the use of the cursor
direction keys and numeric keypad while in graphics mode (i.e.
the Graph Edit and Page Layout screens). The emulated mouse
cursor is displayed as an arrow head similar to that of an actual
mouse cursor.
Mouse movement is directly emulated by the cursor direction keys,
<up>, <down>, <left> and <right>. The distance the emulated
cursor moves with each press of a direction key can be controlled
by the <+> and <-> keys on the numeric keypad. Pressing <+>
increases the cursor displacement produced by the direction keys,
while <-> decreases it.
The left mouse button is emulated by the <Ins> key on the numeric
keypad (Num Lock must be off). One press and release of the
<Ins> key is equivalent to depressing the left mouse button; a
second press and release of the <Ins> key is treated as a left
mouse button release. In this manner you can "click" on an item
by pressing the <Ins> key twice, and you can "drag" an item by
pressing the <Ins> key once and then using the direction keys to
move it.
APPENDIX C - Formula Evaluation Error Strings
If a computational error is produced as a result of evaluating a
CruX formula expression, a descriptive error string is placed in
the result cell. The following table explains the relationship
between the result of a calculation and the corresponding error
string.
String Description Example
DOMAIN Argument was not log(-1)
in domain of function.
OVERFLOW Argument would produce exp(1000)
a function result greater
than MAXDOUBLE.
UNDERFLOW Argument would produce exp(-1000)
a function result less
than MinDOUBLE.
TLOSS Argument would produce sin(10e70)
a function result with
total loss of significant digits.
SINGULARITY Argument would result . pow(0, -2)
in a singularity
ERROR General error category, usually a/0.0
divide by zero.
CruX Software
224 N. Franklin St.
Stoughton, WI 53589
CompuServe: 70703,1554
(608) 873-6181