Reference to the objects and data structures used by RLPlot

This document describes the objects and data structures used by RLPlot in RLPlot (*.rlp, *.rlw) files.

Contents:

Objects: Arrow, Arrow3D, Axis, Bar, bezier, Box, BoxPlot, Brick, Bubble, BubblePlot, ContourPlot, DataLine, DataPolygon, Defaults, DensDisp, DropLine, DropLine3D, ellipse, ErrorBar, FitFunc, FreqDist, Func3D, Function, Graph, Grid3D, GridLine, GridLine3D, GridRadial, group, Label, Legend, LegItem, Limits, Line3D, mLabel, NormQuant, Page, Plane3D, Plot3D, PlotScatt, PolarPlot, polygon, polyline, rectangle, RegLine, Regression, Ribbon, roundrec, Scatt3D, SDellipse, SegChart, segment, Sphere, Stacked, svgOptions, Symbol, TextFrame, Tick, Whisker, xyStat

Data structures (records): axisdef, dword, filldef, float, fplst, fplst3D, fpoint, fpoint3d, frect, gobj, int, iplst, linedef, objlst, text, textdef



Graphic Objects


[Arrow]

Type <int>
the low order bits (0-4) define the arrow style:
0: no cap
1: tip with 2 lines
2: filled triangle tip
if bit 9 (0x100) is set, coordinates are absolute
ssRef <iplst> reference to spreadsheet data
moveable <int> if this value is not null the arrow may be draged with the mouse
p1 <fpoint> starting point (origin) of arrow
p2 <fpoint> second point (end) of arrow
CapW <float> head width
CapL <float> head length
Line <linedef> line width, color ...
top

[Arrow3D]

An arrow in space connecting two data points.
Type <int>
the low order bits (0-4) define the arrow style:
0: no cap
1: tip with 2 lines
2: filled triangle tip
Line <linedef> line width, color ...
Org <fpoint3d> starting point (origin) of arrow
Pos <fpoint3d> second point (end) of arrow
CapW <float> head width
CapL <float> head length
ssRef <iplst> reference to spreadsheet data
top

[Axis]

Type <int> usage of axis:
0 unspecified
1 x-axis
2 y-axis
3 z-axis
4 gradient axis
moveable <int> if this item is specified with a value of 1 the axis may be draged with the mouse.
sAxLine <float> linewidth of the axis and ticks
sAxTick <float> length of major ticks
BrkGap <float> size of axis break, gap size
BrkSymSize <float> size of symbol drawn at break
BrkSym <int> type of break symbol 
tick_type <int> default 'Type' of Ticks
tick_angle <float> default tick angle: the'Rot' member of the Ticks
sTickLabel <float> text size of tick labels
LbDist <fpoint> distance of axis label from the axis
TickLbDist <fpoint> distance of tick labels from the axis
tlbDef <textdef> style of tick labels
Color <dword> axis and tick color
AxisDef <axisdef> definition of axis
GridLine <linedef> grid line default style: color, width and pattern
GridType <int> type of GridLine or GridLine3D.
Ticks <objlst> list of ticks, <Ticks, associated with this axis
Label <gobj> the axis label, <Label>
TickFile <text> optional path and filename of a file containing tick information. The file is pure ASCII and contains one line per tick. Each line starts with a value (i.e. the tick position) followed by an optional '=' and label text.
Ticks with no label are considered as minor ticks, while those with a label are major ticks.
Only ticks in the specified axis range are actually displayed. This member superseeds the 'Ticks' item if present.
ssRefTV <text> this member is set when ticks are specified via spreadsheet values. It specifies the spreadsheet range for major tick values.
ssRefTL <text> defines a spreadsheet range for tick labels, the ticks are defined in ssRefTV
ssRefMT <text> reference to spreadsheet values for minor ticks. Minor ticks are smaller than major ticks and have no text label.
g_type <int> type of gradient axis (rainbow ...)
g_col_0 <dword> gradient color: fixed color
g_col_1 <dword> low gradien color
g_col_2 <dword> high gradient color
top

[Bar]

Type <int>
type of bar:
bits 0-7: orientation
0x01: vertical bar with bottom baseline
0x02: vertical bar, baseline at the top
0x03: vertical bar, user baseline in Org
0x04: horizontal bar, left baseline
0x05: horizontal bar, right baseline
0x06: horizontal bar, user baseline in Org
bit 8: interprete Size as relative bar width
The parent object (usually a plot) is supposed to supply a value for the distance between bars. If this bit is set the size member defines the percent of this supplied value to be used as bar width.
bit 9: if this bit is set the bar is symmetrical across the baseline.
This bit should only be set if the low order byte (bits 0-7) have a value of either 0x03 or 0x06, i.e. a user defined baseline.
ssRef <iplst> reference to spreadsheet data
Pos <fpoint> coordinates of the bar (data values)
Size <float> width of bar. If bit 9 is set in Type this value
is a relative value (% of bar distance). If
bit 9 is 0 this value is an absolute width
Org <fpoint> baseline values for horizontal and vertical
bars
Line <linedef> outline characteristics
Fill <filldef> fill or hatch pattern
FillLine <linedef> define line of fill or hatch pattern
Name <text> an optional name for this bar
top

[bezier]

Draws a 'Bezier' curve.
Type <int> create and display flags
moveable <int> if this item is specified with a value of 1 the shape may be draged with the mouse.
Data <fplst> a list of x- and y- values for each contol point
Line <linedef> color and drawing mode for line
FillLine <linedef> line definition for fill patterns
Fill <filldef> fill color and pattern
top

[Box]

This object is used in differnt combination to draw rectangles.
Type <int> defines the meaning of the Size item: absolute width or relative (%)
ssRef <iplst> reference to spreadsheet data
High <fpoint> x- and y- coordinates of first point
Low <fpoint> x- and y- coordinates of second point
Size <float> width of box, interpretation dependend on Type.
Line <linedef> outline color and width
FillLine <linedef> line properties for any fill pattern
Fill <filldef> fill box with color and pattern (using FillLine)
Name <text> an optional name for this box
top

[BoxPlot]

This object collates Boxes, Whiskers, Symbols and a DataLine to a layer.
Type <int> method to calculate values from spreadsheet
hide <int> flag that this layer is hidden
Bounds <frect> scaling information (minima and maxima in both x- and y- direction)
xRange <text> reference to spreadsheet data source: x values.
yRange <text> reference to spreadsheet data source: y values.
prefix <text> text prefix to number of cases label
boDist <fpoint> box distance in x- and y-direction. Used to calculate relative width of boxes.
ci_box <float> confidence interval for use with boxes
ci_err <float> confidence interval for use with error bars
x_axis <int> use other x axis for this plot: index to list of axes in Graph.
y_axis <int> use other y axis for this plot: index to list of axes in Graph.
Boxes <objlst> list of Boxes for this layer
Whiskers <objlst> list of Whiskers
Symbols <objlst> list of Symbols
Labels <objlst> list of case-count- Labels of this layer
Line <gobj> DataLine of this layer
top

[Brick]

A column or cube in 3D space.
Line <linedef> outline properties
Fill <filldef> fill color
Pos <fpoint3d> xyz - coordinates of center
depth <float> depth of Brick (z direction)
width <float> width of Brick (x direction)
height <float> height of Brick (y direction)
flags <dword> bit flags:
0x800 height is y data
ssRef <iplst> reference to spreadsheet data
top

[Bubble]

This object is similar to Symbol but also capable of different sizes, styles and fill patterns.
Type <int> type of bubble:
bits 0-3: shape value
   0 circle, 1 square, 2 up triangle, 3 down triangle
bits 4-7: scaling
   0x00 absolute size
   0x10 scale size with x-axis
   0x20 scale size with y-axis
bits 8-11: proportionality
   0x000 same diameter as circle of same size
   0x100 same circumference as circle
   0x200 same area as circle
ssRef <iplst> reference to spreadsheet data
Pos <fpoint> coordinates of bubble center (data values)
Size <float> the bubbles size. Note that the interpretation of this value depends on bit-flags in Type.
Line <linedef> outline characteristics
FillLine <linedef> define line of fill or hatch pattern
Fill <filldef> fill or hatch pattern
Name <text> an optional name for this bubble
top

[BubblePlot]

An xy-plot layer to display Bubbles.
hide <int> flag that this layer is hidden
Bounds <frect> scaling information (minima and maxima in both x- and y- direction)
x_axis <int> use other x axis for this plot: index to list of axes in Graph.
y_axis <int> use other y axis for this plot: index to list of axes in Graph.
Line <linedef> outline style and color
FillLine <linedef> style and color of pattern line
Fill <filldef> fill color and pattern definition
Bubbles <objlst> list of Bubbles
top

[ContourPlot]

Type <int> not used
hide <int> flag that this layer is hidden
Bounds <frect> scaling information (minima and maxima in both x- and y- direction)
xBounds <fpoint> min and max x-value
yBounds <fpoint> min and max y-value
zBounds <fpoint> min and max z-value
srz <float> level (z-value) of super rectangle
flags <dword> super rectangle level:
    0x00 at z-min
    0x01 at z-max
    0x02 at z-mean
    0x03 use srz value

symbols:
    0x00 none
    0x10 at minima
    0x20 at maxima
    0x30 all source data

labels:
    0x40 symbols have labels
zDef <axisdef> definitions for the color gradient axis
zAxis <gobj> the gradient axis
Values <fplst3d> a copy of the source data
Symbols <objlst> the Symbols of the plot
Labels <objlst> the value-Labels of the plot
ssRefX <text> reference to the spreadsheet: x- values
ssRefY <text> reference to the spreadsheet: y- values
ssRefZ <text> reference to the spreadsheet: z- values

Note: Isopleths are not stored in this object but in the Tick-objects of the gradient axis.

top

[DataLine]

Draw a line connecting the data points.
Type <int> style: any value > 0 will result in a step line with the points on differnt places relative to the steps
  9  draw a horizontal spline
10  draw a vertical spline
ssXref <text> reference to the spreadsheet: x- values
ssYref <text> reference to the spreadsheet: y- values
BgCol <dword> background color
Line <linedef> line characteristics (color, width and pattern)
Data (<int nPoints>){<fpoint>} a list of x- and y- values, nPoints long
file_xy <text> optional file name (full path) which is read instead of any data within the object. The file is a pure text file with x and y value in each line separated by white space. 
This item superseeds the nPoints and Data definitions, if present.
start_x <float> this item together with <file_y> and <step_x> define how x-values are calculated to form x/y pairs.
step_x <float> increment <start_x> by this value to calculate the coresponding x-value for each y-value read from <file_y>.
file_y <text> optional file name (full path) which is read instead of any data within the object. The file is a pure text file with an y-value in each line. This item superseeds the nPoints and Data definitions, if present. x-values are substituted by 0, 1, 2, 3 .... .
Desc <text> description used for legend
top

[DataPolygon]

Type <int> same as for DataLine
ssXref <text> reference to the spreadsheet: x- values
ssYref <text> reference to the spreadsheet: y- values
BgCol <dword> background color
Line <linedef> line characteristics (color, width and pattern)
FillLine <linedef> characteristics of lines of fill patterns
Fill <filldef> fill color and pattern
Data (<int nPoints>){<fpoint>} a list of x- and y- values, nPoints long
file_xy <text> optional file name (full path) which is read instead of any data within the object. The file is a pure text file with x and y value in each line separated by white space. 
This item superseeds the nPoints and Data definitions, if present.
start_x <float> this item together with <file_y> and <step_x> define how x-values are calculated to form x/y pairs.
step_x <float> increment <start_x> by this value to calculate the coresponding x-value for each y-value read from <file_y>.
file_y <text> optional file name (full path) which is read instead of any data within the object. The file is a pure text file with an y-value in each line. This item superseeds the nPoints and Data definitions, if present. x-values are substituted by 0, 1, 2, 3 .... .
top

[Defaults]

Store global and user specific settings of the program 1)
dUnits <int> default units for new graphs
0 use mm
1 use cm
2 use inch
cUnits <int> current units of graph, see above
dtHeight <int> height of text in dialog boxes (pixels)
ss_txt <float> relative size of spreadsheet text
fmt_date <text> format string for date
fmt_datetime <text> format string for date + time
fmt_time <text> format string for time
curr_path <text> the default folder to open/save data, usually the last folder being accessed
menu_height <int> the height of the menu bar in pixels 2)
File1 <text> file history 1
File2 <text> file history 2
File3 <text> file history 3
File4 <text> file history 4
File5 <text> file history 5
File6 <text> file history 6

1)   This object is used to store user specific settings. RLPlot stores some data in a local file, .RLPlot. This file is found in the home directory of the user. On Windows this file is located in the user profile - Application Data folder. Delete this file to revert all settings to the start up defaults.

2)   Depending on the window manager RLPlot cannot retrieve the height of the menu bar. This can cause the menu bar to overlap the column buttons in the spread sheet. The value is interpreted as a minimum height, thus moving the whole spreadsheet down. The value is accesible through the spread sheet menu, [Edit][Rows/Cols][Width and Height].

top

[DensDisp]

Some kind of bar graph with variable bar width
Type <int> orientation and alignmentof bars:
bits 0-3: symmetric/positive/negative
bit 0x10: vertical profile
hide <int> flag that this layer is hidden
Bounds <frect> minima and maxima of data values. Used for scaling.
xRange <text> reference to spreadsheet data source: x values.
yRange <text> reference to spreadsheet data source: y values.
x_axis <int> use other x axis for this plot: index to list of axes in Graph.
y_axis <int> use other y axis for this plot: index to list of axes in Graph.
Line <linedef> outline characteristics (color, width and pattern)
FillLine <linedef> characteristics of lines of fill patterns
Fill <filldef> fill color and pattern
Boxes <objlst> list of Boxes
top

[DropLine]

Draw lines from a data point to the axes or the frame rectangle
Type <int> bit 0: line to left frame
bit 1: to right frame
bit 2: to vertical (y-) axis
bit 4: line to top of frame
bit 5: to bottom of frame
bit 6: to horizontal (x-) axis
ssRef <iplst> reference to spreadsheet data
Pos <fpoint> data point, x- an y value
Line <linedef> line properties: color, width, pattern
top

[DropLine3D]

Draw lines from a data point to front, rear, top, bottom, left, or right.
Type <int> bit mask defining 6 directions
Line <linedef> line properties: color, width, pattern
Pos <fpoint3d> data point, x- an y value
ssRef <iplst> reference to spreadsheet data
top

[ellipse]

Draw an ellipse with absolute coordinates.
Type <int> this value is 1 to identify an ellipse.
moveable <int> if this item is specified with a value of 1 the shape may be draged with the mouse.
p1 <fpoint> x- and y- coordinates of upper left corner
p2 <fpoint> lower right corner
Line <linedef> outline descriptor
FillLine <linedef> line used for fills and patterns
Fill <filldef> fill color and pattern
Name <text> an optional name for this ellipse
top

[ErrorBar]

Classical error bar giving the range relative to a given value. For asymetric errors and more styles Whiskers are used.
Type <int>
orientation of error bar:
0: vertical up and down
1: vertical up only
2: vertical down
3: horizontal left and right
4: horizontal left
5: horizontal right
ssRef <iplst> reference to spreadsheet data
Pos <fpoint> data point values
Err <float> error size (data)
Size <float> cap width
Line <linedef> defines the appearence of the line
Desc <text> description used for legend
top

[FitFunc]

This layer accepts a user defined function and a literal initial declaration of parameters. The function is parsed and the parameters are adjusted by nonlinear regression using a Levenberg-Marquart algorithm so that the function has a minimum squared distance to some selected data (optimized fit).
hide <int> flag that this layer is hidden
ssXref <text> Reference to the spreadsheet data x-values
ssYref <text> Reference to the spreadsheet data y-values. The user supplied function is fitted to these data.
x1 <float> Start plot value
x2 <float> End plot value
xstep <float> Evaluate the function, y=f(x) from x=x1 until x=x2 incrementing x by this value.
conv <float> If chi2 < conv terminate iterations.
chi2 <float> Chi2 of the current fit
maxiter <int> Maximum number of iterations attempting to find a solution.
Line <linedef> Appearence of fitted line
f_xy <text> The user defined function
p_xy <text> Parameter declarations needed to evaluate f_xy. Usually the optimized parameters after analysis.
Symbols <objlst> Optional Symbols to indicate data points
top

[FreqDist]

This is a combination of a bar chart and a function. The bar chart data are calculated as a frequency how often a value exists in a specific class of given size. The function is a fit to a distribution model
Type <int> Define function:
  1. normal distribution
If 'Type' is absent or zero no function is drawn.
hide <int> flag that this layer is hidden
ssRef <text> reference to spreadsheet data
x_axis <int> use non default x-axis for scaling
y_axis <int> use non default y-axis for scaling
cl_start <float> start classes at this value
cl_size <float> increment cl_start with this value to move to the next class
BarLine <linedef> default bar outline
BarFill <filldef> default bar fill color and pattern
BarFillLine <linedef> default line style used by fill pattern
plots <objlst> list of a bar chart and an optional function object
top

[Func3D]

This layer is based on Plot3D and displays a user defined function in 3D space.
Type <int> 0 draw grid
1 draw surface
xBounds <fpoint> min and max x-value
yBounds <fpoint> min and max y-value
zBounds <fpoint> min and max z-value
Corner1 <fpoint3d> lower, left, rear corner
Corner2 <fpoint3d> upper, right, front corner
Center <fpoint3d> coordinates of rotation center. Defaults to the middle between Corner1 and Corner2.
rot_vec <fpoint3d> unit vector of the rotation axis
rot_ang <fpoint3d> rotation angle (phi): sin(phi), cos(phi), 1-cos(phi)
Axes <objlst> list of axes. At least three axes are required, in each x, y, and z direction.
Plots <objlst> list of plots and other 3D-objects
x1 <float> Start plot value x
x2 <float> End plot value x
xstep <float> incrementing x by this value
z1 <float> Start plot value
z2 <float> End plot value
zstep <float> Evaluate the function, y=f(x,z) from x=x1 until x=x2, and z=z1 until z2 incrementing x by xstep and z by zstep.
Line <linedef> appearance of lines
Fill <filldef> appearance of surface
f_xz <text> The user defined function
param <text> Optional parameter declarations needed to evaluate f_xy
top

[Function]

This layer parses a user defined function and draws a 2D Plot.
hide <int> flag that this layer is hidden
x1 <float> Start plot value
x2 <float> End plot value
xstep <float> Evaluate the function, y=f(x) from x=x1 until x=x2 incrementing x by this value. The total number of points evaluated equals (x2-x1)/xstep.
Line <linedef> Line style and color
f_xy <text> The user defined function
param <text> Optional parameter declarations needed to evaluate f_xy
DataLine <gobj> A DataLine object used to draw the evaluated function
Desc <text> description used for legend
top

[Graph]

This object is a root-object to a tree of objects. It collates axes, layers and user drawn object to a single graph.
Type <int> Basic properties and behaviour:
0: unknown type
1: standard xy-plots, orthogonal axes
2: a circular chart: no axes used
3: polar plot with angular and radial axes.
The axes for this type of plot are defined
in a PolarPlot layer.
4: three dimensional (3D) plot
Units <int> internationalization, units used:
0: use mm
1: use cm
2: use inch
Scale <float> scaling information
GRect <frect> The whole drawing area (similar a page). The two corner points of the rectangle are given in [Units], mm, cm or inch.
DRect <frect> The drawing rectangle. With most graphs this member defines the rectangle enclosed by the axes.
Bounds <frect> scaling information (minima and maxima in both x- and y- direction). If this member is not valid (e.g. if minimum is less or equal maximum) the graph is scaled automatically and the values corrected.
ColFrame <dword> background color for the whole drawing area (paper color), usually set to white
ColFrameL <dword> the color of the line marking the GRect on the screen, usually set to very light gray
ColRec <dword> the color of the data rectangle, DRect, usually set to white
ColAxis <dword> the default axis color
Xaxis <axisdef> the main x- axis, contains scaling information
Yaxis <axisdef> the main y- axis, contains scaling information
DefXAxis <int> identifier, which member of Axes is the default axis
DefYAxis <int> identifier, which member of Axes is the default axis
Axes <objlst> list of Axis objects
Plots <objlst> list of plots, layers, groups, and user drawn objects

Note: Scaling information in the graph object takes precedence over all other objects. Thus the information in Xaxis and Yaxis is copied to the Axis objects denoted by DefXAxis and DefYAxis. Usually the axis information within these two objects is redundant to the graph object. The 'Scale' value is only involved when new objects are created.

top

[Grid3D]

Display data as grid in 3D space.
Type <int> a key to the interpretation of data
Start <fpoint3d> origin of grid
Step <fpoint3d> increment Start for the position of grid lines
Line <linedef> defines the appearence of the grid lines
Fill <filldef> defines the appearence of a grid surface
lines <objlst> a list of Line3D objects
planes <objlst> a list of Plane3D objects
top

[GridLine]

Display a background grid in xy-plots, linked to axes and ticks.
Type <int> bit 0: line to left frame
bit 1: line to right frame
bit 2: line to y-axis
bit 4: line to top frame
bit 5: line to bottom frame
bit 6: line to x-axis
bit 8: circular grid line (latitude on polar plot)
Line <linedef> defines the appearence of the grid line
flags <dword> a copy of the axis or tick flags

Note: The parent of a grid line is a <Tick> whose parent is an <Axis>. The position of the tickis defined by the axis and its value. Grid lines take the position of the parent Tick and the flags in Type for their placement. At least two bits must be set for a line to visible. If the axis is vertical ticks and grid lines are horizontal. Valid values for Type are therefore 3, 5, 6 and 7. For horizontal axes the respective values are 48, 80, 96 and 112.

top

[GridLine3D]

Like GridLine in 3D plots.
Type <int> bit 0: line // to x axis,  !  to z axis
bit 1: line // to y axis,  !  to z axis
bit 2: line // to x axis,  !  to y axis
bit 4: line // to z axis,  !  to y axis
bit 5: line // to y axis,  !  to x axis
bit 6: line // to z axis,  !  to x axis
Line <linedef> defines the appearence of the grid line
flags <dword> a copy of the axis or tick flags
top

[GridRadial]

This object adds spokes to a polar plot.
Type <int> (not used)
Line <linedef> defines the appearence of the grid line
flags <dword> a copy of the axis or tick flags
top

[group]

Combine objects to a group. This objects also supports translation to a position offset for its children relative to some fixed coordinates.
Pos <fpoint> translation in x- and y- direction
hide <int> flag that this layer is hidden
Items <objlst> list of objects of any type in this group
top

[Label]

Most text appearing on a page, graph or plot is defined by a label object.
ssRef <iplst> reference to spreadsheet data
moveable <int> If this item is specified with a value of 1 the label may be draged with the mouse. It is only useful if the Flags are 0, i.e. the label has an absolute position.
Pos <fpoint> position where the text is placed
Dist <fpoint> modify position by these two values
Flags <dword>
by default (Flags = 0) position data are interpreted as distance from the top left corner
bit 0: x position as data coordinates
bit 1: x from parent object
bit 5: y position as data coordinates
bit 6: y from parent object
Bits 1 and 6 are set for labels attached to other object e.g. to ticks and axes. These labels are moved together with its parent when the parent is moved.
TxtDef <textdef> font, style, color ... of text and the text
top

[Legend]

A legend consists of a list of LegItem objects
pos <fpoint> position of list relative to the drawing rectangle of the Graph
rec1 <frect> bounding information for all items
rec2 <frect> bounding information for rectangle with fill pattern
rec3 <frect> bounding information for simple line with or without symbol
Items <objlst> List of LegItems
top

[LegItem]

A single line of a Legend object.
D_Line <linedef> Properties of a Line
O_Line <linedef> Properties of the outline of a shape
H_Line <linedef> Properties of the fill pattern lines
Fill <filldef> Fill pattern of a shape
Sym <gobj> Use this Symbol
Text <gobj> Store description in a Label or mLabel object
flags <dword> Bit flags:
  0x01 draw a horizontal line with D_Line properties
  0x02 draw a rectangle with Fill pattern and color,
    pattern uses H_Line, the style of the outline is
    O_Line
  0x04 draw symbol Sym
top

[Limits]

This object modifies autoscaling behaviour of the Graph in a way that the axis minima and maxima are outside the rectangle defined by the Bounds member of this object. The Limits-object is a Layer similar to a Plot. It is usually included in a file created by scripts to optimize autoscaling.
Bounds <frect> Rectangle defining a range which must be within the autoscale region
top

[Line3D]

A
DataLine in a 3D plot.
Line <linedef> line characteristics (color, width and pattern)
ssRefX <text> reference to the spreadsheet: x- values
ssRefY <text> reference to the spreadsheet: y- values
ssRefZ <text> reference to the spreadsheet: z- values
ssRef <iplst> alternate reference to spreadsheet data
values (<int nPoints>){<fpoint3D>} a list of x-, y- and z- values, nPoints long
top

[mLabel]

This object combines several Lines to a multi line label.
moveable <int> If this item is specified with a value of 1 the label may be draged with the mouse.
Pos <fpoint> position where the text is placed
Dist <fpoint> modify position by these two values
lspc <float> line spacing
Flags <dword> See the Label-object for details.
TxtDef <textdef> font, style, color ... of text
Lines <objlst> list of Labels, one for each line
top

[NormQuant]

This object draws a normal quantile plot.
Type <int> not used
nData <int> the actual number of data values
Data <fplst> a list of the source data
ssRef <text> reference to the spreadsheet range containing the data
x_info <text> data descriptor: x-axis
y_info <text> data descriptor: y-axis
top

[Page]

A page object is like a piece of paper where several Graphs are collected. This object is also used as a parent object to create composite graphs. In this case a page is created, just large enough to fit the Graphs.
Type <int> not used
Units <int> internationalization, units used:
0: use mm
1: use cm
2: use inch
GRect <frect> the whole drawing area, i.e. the paper size
Plots <objlst> list of graphs, plots, layers, groups, and user drawn objects
top

[Plane3D]

This object defines a simple shape or polygon in 3D space, usually a triangle or rectangle. Note: this object is not siuted for bent surfaces in space. All points must reside on the same plane!
Line <linedef> Outline properties
Fill <filldef> Fill color.
Hatches are usually not availble with 3D objects
values <fplst3D> Polygon data
top

[Plot3D]

The root object for three dimensional plots. It defines a cube in space which may moved or rotated. The edges of this cube are the default axis of any 3D-plot.
xBounds <fpoint> min and max x-value
yBounds <fpoint> min and max y-value
zBounds <fpoint> min and max z-value
Corner1 <fpoint3d> lower, left, rear corner
Corner2 <fpoint3d> upper, right, front corner
Center <fpoint3d> coordinates of rotation center. Defaults to the middle between Corner1 and Corner2.
rot_vec <fpoint3d> unit vector of the rotation axis
rot_ang <fpoint3d> rotation angle (phi): sin(phi), cos(phi), 1-cos(phi)
Axes <objlst> list of axes. At least three axes are required, in each x, y, and z direction.
Plots <objlst> list of plots and other 3D-objects
top

[PlotScatt]

This object is most frequetly used to define a layer for xy-plots.
hide <int> flag that this layer is hidden
Bounds <frect> Minima and maxima of data values. Used for scaling.
DefSym <int> default symbol type
baDist <fpoint> Distance between bars for x- and y-axis. This values are used to calculate relative bar width. If these values are zero but required by the program they are calculated from the Bardata in the Bars array.
xRange <text> Reference to spreadsheet data source: x values.
yRange <text> Reference to spreadsheet data source: y values.
eRange <text> Reference to spreadsheet data source: errors for error bars.
lRange <text> Reference to spreadsheet data source: text labels
x_axis <int> Use other x axis for this plot: index to list of axes in Graph.
y_axis <int> Use other y axis for this plot: index to list of axes in Graph.
Bars <objlst> List of Bars of this layer
Symbols <objlst> List of Symbols of this layer
PL <gobj> DataLine or DataPolygon of this layer
ErrBars <objlst> List of ErrorBars of this layer
Arrows <objlst> List of Arrows of this layer
dLines <objlst> List of DropLines of this layer
Labels <objlst> List of data-Labels of this layer
x_info <text> x-axis description
y_info <text> y-axis description
top

[PolarPlot]

An interface layer between orthogonal and polar coordinates.
Type <int> if bit 0 is set in Type the radial axis is hidden
hide <int> flag that this layer is hidden
Bounds <frect> dummy values for compatibility with orthogonal plots
ang_offs <float> value subtracted form radial (x-) data, the startin angle
Plots <objlst> a list of plots and layers (e.g. PlotScatt)
Axes <objlst> a list of Axis-objects
FillLine <linedef> line properties for fill patterns
Fill <filldef> fill color and pattern
top

[polygon]

Similar to polyline but fills the shape with a color or fill patten.
Type <int> This value is 1 to identify a polygon.
moveable <int> If this item is specified with a value of 1 the shape may be draged with the mouse.
Data <fplst> a list of x- and y- values for each point
Line <linedef> Color and drawing mode for line
FillLine <linedef> Line definition for fill patterns
Fill <filldef> Fill color and pattern
top

[polyline]

In contrast to DataLine this object uses absolute coordinates to draw a line.
Type <int> This value is 0 or missing to identify a polyline.
moveable <int> If this item is specified with a value of 1 the line may be draged with the mouse.
Data <fplst> a list of x- and y- values for each point
Line <linedef> Appearence and drawing mode for line
FillLine <linedef> for compatibility with polgon
Fill <filldef> for compatibility with polgon
top

[rectangle]

Draw a rectangle with absolute coordinates.
Type <int> This value is 0 or missing to identify a rectangle.
moveable <int> If this item is specified with a value of 1 the shape may be draged with the mouse.
p1 <fpoint> x- and y- coordinates of upper left corner
p2 <fpoint> lower right corner
Line <linedef> outline descriptor
FillLine <linedef> line used for fills and patterns
Fill <filldef> fill color and pattern
Name <text> an optional name for this rectangle
top

[RegLine]

RegLine is a graphic object drawing a line according the formula y = a + b*x
type <int> Type and flags of Line:
Bits 0-3: model used (i.e. use constants from
l1, l2 ...)
Bits 5-7: define clipping mode of function-
plot
nPoints <int> Number of points used for analysis
BgCol <dword> Background color
Line <linedef> Properties of the line to display (color, width, pattern ...).
Range <frect> Four values, the minima and maxima for x- and y- values.
uClip <frect> The minima and maxima of a user defined rectangle which may be used for clipping the plotted function.
li1, li2 ... <fpoint> The constansts <a> and <b> for the different models of regression analysis.
top

[Regression]

Interface layer for linear regression analysis. Regression out put is done by RegLine.
Type <int> Not used
hide <int> flag that this layer is hidden
Bounds <frect> Scaling information (minima and maxima in both x- and y- direction).
xRange <text> Reference to spreadsheet data source: x- values.
yRange <text> Reference to spreadsheet data source: y values.
x_axis <int> Use other x axis for this plot: index to list of axes in Graph.
y_axis <int> Use other y axis for this plot: index to list of axes in Graph.
Line <gobj> The RegLine-object to hold regression output
Ellipse <gobj> The SDellipse-object representing the standard deviation (SD) ellipse
Symbols <objlst> A list of symbols representing the data points used for analysis.

Note: This object contains either a RegLine-object or a SDellipse-object. If an ellipse is defined this object encapsulates the RegLine object.

top

[Ribbon]

Ribbon combines several Plane3D objects into a single layer
Type <int> Orientation of planes:
  1:  planes are perpendicular to the xy plane
  2:  planes are perpendicular to the xz plane
hide <int> flag that this layer is hidden
z-pos <float> store a (fixed) z position
z-width <float> store a (fixed) width in z direction
relwidth <float> store a relative width
ssRefX <text> Reference to spreadsheet x-values
ssRefY <text> Reference to spreadsheet y-values
ssRefZ <text> Reference to spreadsheet z-values
Line <linedef> Common outline of all poygons
Fill <filldef> Common fill color of all poygons
values <fplst3D> Source data to generate ribbon
Planes <objlst> List of Plane3D objects constituting this layer
top

[roundrec]

Draw a rounded rectangle with absolute coordinates.
Type <int> This value is 2 to identify a rounded rectangle.
moveable <int> If this item is specified with a value of 1 the shape may be draged with the mouse.
p1 <fpoint> x- and y- coordinates of upper left corner
p2 <fpoint> lower right corner
Line <linedef> outline descriptor
FillLine <linedef> line used for fills and patterns
Fill <filldef> fill color and pattern
Rad <float> radius of circular arc at each edge
Name <text> an optional name for this object
top

[Scatt3D]

This layer defines a three dimensional scatter plot.
ssRefX <text> reference to spreadsheet range for x-values
ssRefY <text> reference to spreadsheet range for y-values
ssRefZ <text> reference to spreadsheet range for z-values
hide <int> flag that this layer is hidden
Line <gobj> a Line3D object of this layer
Balls <objlst> A list of Spheres representing the data points
Columns <objlst> A list of Bricks
DropLines <objlst> A list of DropLine3Ds
ParaV <gobj> A Ribbon: the paravent plot
Arrows <objlst> A list of Arrow3Ds
top

[SDellipse]

Draw an ellipse using the points of regression analysis. The major axis of the ellipse is along the regression line, the minor axis is perpendicular to the line. The length of the axes is the standard deviation of the points in the respective direction.
type <int> bit pattern and flag value:
a bit mask of 0x10000 indicates that the regression line is hidden.
all lower bits are equal to the RegLine object.
Line <linedef> line width, color, and pattern
Range <frect> plotting rectangle
Regr <gobj> a RegLine object defining the regression line
Data <fplst> a copy of the regression data
top

[SegChart]

This layer combines several segments to a pie- or ring chart.
ssRefA <text> reference to spreadsheet data for angles. The sum of all angles equals the angular span given in the second value of CtDef member.
ssRefR <text> reference to spreadsheet data for radii of segments
hide <int> flag that this layer is hidden
CtDef <fpoint> start angle and angular span of chart in degrees. Values are usually "90 360" or "180 180"
FacRad <float> scaling factor for radii, used in connection with the ssRefR member.
Segs <objlst> list of segments
top

[segment]

Draw segment of circle. This may be a slice of a pie or a piece of a ring.
moveable <int> If this item is specified with a value of 1 the segment may be draged with the mouse.
cent <fpoint> Defines the center of the circle from which the segment is a part.
ri <float> Inner radius of a ring-segment. For pie slices this member is set to zero.
ra <float> Outer radius. This member defines the diameter of the plot.
start <float> The starting angle in degrees.
end <float> Stop angle in degrees.
shout <float> For exploded views this member defines the distance of the current segment from the center of the plot.
Line <linedef> Outline properties.
FillLine <linedef> Line properties for fill and hatch patterns
Fill <filldef> Fill color and pattern.
top

[Sphere]

A sphere is used like a symbol in 3D space.
Type <int> Scaling information:
  0 absolute size
  1 size scaling with x-axis
  2 size scaling with y-axis
  3 size scaling with z-axis
Line <linedef> Outline properties
Fill <filldef> Fill color
Pos <fpoint3d> xyz - coordinates of center
Size <float> size of sphere
ssRef <iplst> reference to spreadsheet data
top

[Stacked]

This layer combines plots to a single layer. It is used e.g. for grouped bars, stacked polygons, multiple lines, and stacked bar plots.
Bounds <frect> scaling information (minima and maxima in both x- and y- direction)
hide <int> flag that this layer is hidden
x_axis <int> Use other x axis for this plot: index to list of axes in Graph.
y_axis <int> Use other y axis for this plot: index to list of axes in Graph.
cumData <int> Create cumulative data:
  1. add data to StartVal
  2. subtract data from StartVal
  3. add data to StartVal and close polygon
  4. subtract data from StartVal and close polygon
StartVal <float> base value for cumulative data and plots
Dspm <fpoint> Distance between two sub-plots in x and y direction. This item is used together with lines to create a pseudo 3D graph (waterfall graph)
ssXrange <text> reference to the spreadsheet: x- values
ssYrange <text> reference to the spreadsheet: y- values
BoxBars <objlst> list of BoxPlots
Plots <objlst> list of PlotScatt objects
Polygons <objlst> list of DataPolygons
Lines <objlst> list of DataLines

Note: This object manages its own data for cumulative plots like stacked bars and stacked polygons. References to spreadsheet cells from child plots may point to this data which are generated from the original spreadsheet values dependending on the value of 'cumData' and 'StartVal' using spreadsheet data in 'ssXrange' and 'ssYrange'.

top

[svgOptions]

This is a special object with information which is included into a scaleable vector graphics file (SVG) during export. The id of this object is usually a negative number indicating that it is not part of an drawable object tree.
tagAttr <text> attributes to be included in the <svg> tag.
Example:
tagAttr= "onload=\"init(evt)\""
Script <text> a JavaScript (ecma-script) which is included into a svg-file
top

[Symbol]

Type <int> shape of symbol (circle, square, triangle ...)
ssRef <iplst> reference to spreadsheet data
Idx <int> sequential numbering of symbols in plot
Pos <fpoint> coordinates of symbol (data values)
Size <float> size of symbol
Line <linedef> outline style 
FillCol <dword> fill color
Text <textdef> style and text for text symbol
Name <text> an optional name for this symbol
top

[TextFrame]

A rectangle containing text. This text is fitted to the rectangle.
moveable <int> If this item is specified with a value of 1 the shape may be draged with the mouse.
Pos1 <fpoint> x- and y- coordinates of upper left corner
Pos2 <fpoint> lower right corner
lspc <float> line spacing
Pad <frect> distance of the text from the bounding rectangle
TxtDef <textdef> default style, size and color of the text
Line <linedef> rectangle outline appearance
FillLine <linedef> line used for fills and patterns
Fill <filldef> fill color and pattern of the rectangle
Text <text> the text contained in the frame
top

[Tick]

Ticks are marks of an axis. They can also own a label and grid line.
Type <int> the low order 4 bits give some further information on tick rotation:
0x00 tick is perpendicular to axis
0x01 use the 'Rot' member as direction
0x02 tick paralell to x-axis
0x03 tick paralell to y-axis
0x04 tick paralell to z-axis
Val <float> value of tick
Flags <dword flags are the same as in <axisdef>
Rot <float> use this angle (degree) as tickdirection if the low order 4 bits of 'Type' are equal to 0x01
GridType <int> Type of GridLine or GridLine3D.
Grid <gobj> optional grid line owned by this tick, <GridLine>
Label <gobj> optional tick label, <Label>
Polygons <objlst> a list of isopleths defined for the current level "Val". This member is used for ContourPlots.
Size <float> length of tick line
top

[Whisker]

Different types of error bar like range indicators. Uses absolute vales in contrast to ErrorBar with different placement and styling options.
Type <int> drawing style
ssRef <iplst> reference to spreadsheet data
High <fpoint> x- and y- coordinates of first point
Low <fpoint> x- and y- coordinates of second point
Size <float> cap width
Line <linedef> line color and width
Desc <text> description used for legend
top

[xyStat]

This layer displays a xy-Plot (line with symbols, bars etc. with errors) calculated from spreadsheet values
Type <int> method to calculate values from spreadsheet
hide <int> flag that this layer is hidden
Bounds <frect> Minima and maxima of data values. Used for scaling.
DefSym <int> default symbol type
baDist <fpoint> Distance between bars for x- and y-axis. This values are used to calculate relative bar width. If these values are zero but required by the program they are calculated from the Bardata in the Bars array.
confi <float> confidence interval
xRange <text> Reference to spreadsheet data source: x values.
yRange <text> Reference to spreadsheet data source: y values.
prefix <text> text prefix to number of cases label
x_axis <int> Use other x axis for this plot: index to list of axes in Graph.
y_axis <int> Use other y axis for this plot: index to list of axes in Graph.
Bars <objlst> List of Bars of this layer
Symbols <objlst> List of Symbols of this layer
PL <gobj> DataLine or DataPolygon of this layer
ErrBars <objlst> List of ErrorBars or Whiskers of this layer
Labels <objlst> List of case-count- Labels of this layer
x_info <text> x-axis description
y_info <text> y-axis description
top


Data structures (record) definitions

<axisdef>

a list of values describing the properties of an axis:
Flags <dword>
the bits have the following meaning:
the lowest two bits define the appearence of the axis ticks:
  0 no ticks,
  1 tick direction is down or right,
  2 tick direction is up or left,
  3 ticks are centered.
bit 3: tick has a grid line
bit 4: it's a minor tick
bits 5-7 control the placement of the axis:
  0x00 axis is floating,
  0x10 axis left of plot,
  0x20 axis is right of plot,
  0x30 axis is on top,
  0x40 bottom axis.
bit 8: enable automatic scaling
bit 9: invert direction (top to bottom,
  right to left)
bit 10: enable automatic generation
  of ticks and tick labels
bit 11: axis defines drawing area: if this
  bit is set, plots are moved according
  the placement of the axis.
bits 13-15 define a transformation:
  0x0000 no transform (linear),
  0x1000 logarithmic,
  0x2000 reciprocal,
  0x3000 square root.
bits 17-19: interpretation of placement:
  0x10000 x-position scale as data values,
  0x20000 y-position scale as data values,
  0x40000 z-position scale as data values.
bit 21: axis is circular
bit 22: axis is radial
bit 23: axis in 3D space
Min <float> low value for scaling
Max <float> high values for scaling
X Y Z <float><float><float> position of first point of axis in space (3D)
X Y Z <float><float><float> position of seconmd point of axis (3D)
Start <float> start value of linear axis
Step <float> step size for linear axis
Center <fpoint> center of polar plot
Radius <float> radius of polar plot
Breaks <int> number of axis breaks
{<fpoint> <fpoint>......} an optional list of break data. This list should contain as many pairs of data (low and high for each break) as indicated by the Breaks member.
top

<dword>

a 32bit value used for flags and colors: colors are coded as 'aabbggrr', where aa is the transparency of the color; low values indicate low transparency (high opacity), high values indicate colors with high transparency.
0x00ff0000 = blue, 0x0000ff00 = green, 0x000000ff = red, 0x00000000 = black

<filldef>

a list of values defining how shapes (rectangles, circles, polygons ...) are filled:
type <int> type of hatch pattern, a values of 256 is set for 3D shading with light source
color <dword> the background color (RGB triple) of the shape
scale <float> scaling factor for fill or hatch pattern. A value of 1.0 means 100% size
hatch <dword> reserved NULL
color2 <dword> auxiliary color e.g. for shading or gradient fills
top

<float>

a single floating point value

<fplst>

a list of values, usually xy pairs.
The general form is "(n){x0 y0 ... xn yn}" where n is the number of xy pairs and and x0 y0through xn yn are the values. This data structure is used to store a list of coordinates.
top

<fplst3D>

a list of values, usually xyz triples.
The general form is "(n){x0 y0 z0 ... xn yn zn}" where n is the number of xyz tiples and and x0 y0 z0 through xn yn zn are the values. This data structure is used to store a list of coordinates in space.
top

<fpoint>

two floating point values, usually x and y coordinates or low and high value

<fpoint3d>

three floating point values, usually x, y, and z coordinates

<frect>

four floating point numbers used to define a two dimensional range. The values are low x, high y, high x, and low y. This record keeps e.g. minima and maxima for a given data set.
top

<gobj>

an identifier of an object. Each object must be defined in the file before it is referenced in <gobj>. An array of <gobj> is defined as <objlst>.
top

<int>

a single integer value

<iplst>

a list of integer values, usually xy pairs.
The general form is "(n){x0 y0 ... xn yn}" where n is the number of xy pairs and and x0 y0through xn yn are the values. This data structure is also used to store a reference to the spreadsheet data, 0 0 means cell A1 and 1 1 means B2. To define the coordinates of one point the corresponding entry could be (2){ 0 2 1 2} meaning take the x-value from A2 and the y-value from B2.
top

<linedef>

a list of values describing the appearence of lines
width <float> linewidth
patlength <float> the length of pattern
color <dword> line color
pattern <dword> line pattern: 0x00000000 solid line, 0xfffffff
no line, 0xff00ff00 dashed
top

<objlst>

a list of objects with the following syntax: (n) { obj1 .... objn}
n <int> The number of objects defined in the following list
obj1 ... objn A list of identifiers to objects, <gobj>s. Each object must be defined prior to any reference to it in a <objlst>. 
top

<text>

A text string delimited by double quotes. A backslash at the end of the line (after the last double quote) is a continuation character causing the next line to be added to the previous.
The following escape sequences may appear:
\n    new line
\r    carriage return
\\    backslash
\"    double quotes
\'    single quote
top

<textdef>

a list of values defining the size and appearance of text
ColTxt <dword> text color
ColBg <dword> background color used for opaque text
FSize <float> text height
RotBL <float> angle to rotate text
RotCHAR <float> angle to rotate each character (n.a.)
Align <int> hot spot of text,
0 = left top, 10 = right bottom
possible values:
0 1 2
4 5 6
8 9 10
Mode <int> 0 = opaque (fill background below text with
ColBG; 1 = transparent
Style <int> 0 = normal or a binary or of 0x01 (italic) |
0x02 (bold) | 0x04 (underlined)
Font <int> font: 0 = Helvetica, 1 = Times, 2 = Courier
text <text> optional text
top