Defines the x- and y-axis in each window for high-resolution graphics.
||Whether/how to make axes equal (
||Whether to reset the axes definitions to the default values (
||Numbers of the windows|
||Title for the y-axis in each window|
||Title for the x-axis in each window|
||Lower bound for y-axis|
||Upper bound for y-axis|
||Lower bound for x-axis|
||Upper bound for x-axis|
||Distance between each tick mark on y-axis (scalar) or positions of the marks (variate)|
||Distance between each tick mark on x-axis (scalar) or positions of the marks (variate)|
||Position of the tick marks across the y-axis (
||Position of the tick marks across the x-axis (
||Labels at each mark on y-axis|
||Labels at each mark on x-axis|
||Position of the labels for the y-axis (
||Position of the labels for the x-axis (
||Position on y-axis at which x-axis is drawn|
||Position on x-axis at which y-axis is drawn|
||Style of axes (
||Pen to use for the title|
||Pen to use for the axes and their labelling|
||Pen to use for the grid|
||Saves details of the current settings for the axes concerned|
There is a definition for the x- and y-axis associated with each Genstat graphics window. This specifies how the axes are to be drawn when graphical output is produced in that window. The default definition for each set of axes requires some of the features to be determined from the data, as described below. Others have fixed defaults that are independent of the data. The
AXES directive can be used to override the default action and specify explicitly how particular parts of the axis are drawn. All parameters of
AXES are relevant when using
DGRAPH, but for other directives only some of the parameters are used.
The graphical attributes controlled by
AXES can be set more conveniently using the directives
ZAXIS, and extensions to the
FRAME directive, that were introduced in Release 4.2.
AXES has been retained to enable existing programs to run, but it is recommended that for new programs
ZAXIS be used instead.
WINDOW parameter specifies the window whose axes definitions are to be altered.
WINDOW can be set to a list of window numbers, in which case the other parameter lists are cycled in the usual way. By default, only those aspects specified by subsequent parameter lists are modified; any parameters that are not set will retain their current settings. Alternatively, you can specify option
RESET=yes to reset the values of any parameters that are not set for each window, back to the default values that are set up by Genstat at the start of a job.
YUPPER parameters specify the lower and upper bounds for the y-axis. By default, Genstat derives suitable axis bounds from the data, as described for the appropriate directive. You can set the lower bound to a value greater than the upper bound, to obtain an inverted data scale, but the bounds must not be equal. The
XUPPER parameters set bounds for the x-axis in a similar way. The values specified with these parameters are on the scale of the data values that are plotted, and are independent of the normalized device coordinates used to define the window size in
EQUAL option can be used to ensure that equal upper or lower bounds are used for the y- and x-axes. For example, if
EQUAL=lower, lower bounds for both axes will be set to the lower of the values determined automatically from the data. The bounds obtained when using the
EQUAL option may be constrained by settings of other parameters: for example, if
YUPPER is set and
EQUAL=upper, the upper bounds of both axes are set to the value specified by
YUPPER; but if
XUPPER is also set,
EQUAL will be ignored. You can set
EQUAL=lower,upper to constrain both upper and lower bounds, and
EQUAL=scale can be used to ensure physical distance is equal on both axes, for example the y-axis could range from 0 to 100 and the x-axis from 100 to 200.
YORIGIN parameter determines the value on the y-axis through which the x-axis is drawn. If its value is outside the y-axis bounds, the upper or lower bound is adjusted so that the axis will extend up to the specified origin. This applies whether you have set the bounds explicitly or have left Genstat to calculate them from the data. The
XORIGIN parameter sets the origin for the x-axis in a similar way. By default, the lower bounds of each axis are used, so that the axes are drawn on the bottom and left-hand sides of the plot.
Titles can be added to the axes using the
XTITLE parameters. In each case, the title is limited to a single line of characters.
Each axis is marked with a scale, determined automatically so that tick marks are evenly spaced and positioned to give “round” numbers for the scale values. For each axis, you can specify either the increment between tick marks or their actual positions. You can also specify labels to use for scale markings instead of their numerical values.
To specify the increment on the y-axis, the
YMARKS parameter should be set to a scalar. For example,
YMARKS=1.5 with bounds 10 and 2 causes tick marks to appear at 2, 3.5, 5, 6.5, 8 and 9.5. The interval must be a positive number, irrespective of the values of the bounds. Alternatively, you can set
YMARKS to a variate (with more than one value) to specify the actual positions of the tick marks on the y-axis. Any values that lie outside the axis bounds are ignored. The scale values printed next to the tick marks use a format that is determined automatically from the values, but if you have set
YMARKS to a variate it will use the number of decimals specified in the variate declaration. When you have set
YMARKS, you can also use the
YLABELS parameter to specify a set of labels to mark the axis scale. For example,
TEXT [VALUES=Mon,Tues,Wed,Thur,Fri,Sat,Sun] Day
VARIATE [VALUES=1...31] Month
AXES 1; YMARKS=Month; YLABELS=Day
The strings within the text are cycled if necessary; hence, the number of strings can be less than the number of tick marks.
The tick marks can be drawn to the left or to the right of the axis, or can be centred (that is, across the axis). By default, the tick marks are drawn towards the “outside” of the plot; that is, to the left if the y-axis is to the left of the centre of the plot, or to the right if the y-axis is drawn to the right of centre. The aim is to position the tick marks away from the main part of the plot, so that they interfere with the plotted points as little as possible. You can control the positioning of the tick marks by setting the
YMPOSITION parameter to either
centre. A similar rule governs the default positioning of the scale markings or labels, but you can again control this by setting the
YLPOSITION parameter to either
YMARKS=* will return to the default positioning of the tick marks;
YLABELS=* will switch off any labels previously specified; and
YLPOSITION=* will switch off tick marks or labels altogether.
Annotation of the x-axis can be controlled in a similar way using the
XLPOSITION parameters, except that the settings
right are replaced by
STYLE parameter controls the type of axes that are drawn. By default
STYLE=xy, so both y- and x-axes are plotted. Alternative settings allow the axes to be completed by drawing a box around the graph, with an overlaid grid if required. The settings
STYLE=y can be used if only one axis is required. Finally,
STYLE=none inhibits the plotting of axes completely, although some other parameters, such as
YLOWER, may still have an effect on the plotted data.
There are three parameters that control the pens to be used when drawing the axes. These are
PENGRID, specifying the pen for the title, the axes and annotation, and the grid, respectively. The initial default is to use pens -1, -2 and -4 in every window. These pens are given negative numbers to allow them to be distinguished from the pens used for the contents of the plot. They are initially set up to use colour 1, line style 1, thickness 1, size 1 and font 1. You can thus control which pens are used for drawing the axes in each window, and the attributes of those pens. For example, if no
AXES statement has yet been given,
PEN -4; LINESTYLE=4; COLOUR=2
will request that the grids in every window should be drawn in line style 4 and colour 2; while
PEN 29; LINESTYLE=3; COLOUR=4
AXES 1; PENAXES=29
will change the appearance of just the axes in window 1, as pen 29 is not used for the other windows. Control of the grid pen is particularly useful as a combination of colour and line style can be chosen to ensure that the grid does not obscure the plotted points. You should of course be careful of side-effects when changing the pen numbers. For example, pen 29 may also have been modified for use in a
DGRAPH statement and other attributes may have been set that are not wanted when drawing the axes.
Axis annotation is plotted in the margins specified by the
FRAME directive. You may wish to reduce the size of these margins if you have defined axes that use less space, for example by keeping within the area of the graph itself, or by omitting titles or labels. Space can thus be regained and used for plotting data. However, if the margins are too small the axis annotation may be “clipped” at the boundaries of the margins; if this happens, you can use
FRAME to increase the margin size. The margins are used by
DCONTOUR, but they are ignored by other directives.
The current settings of the axes for a particular window can be saved in a pointer supplied by the
SAVE parameter. The elements of the pointer are labelled to identify the components. This facility is of most use within procedures, where it may be necessary to check or modify particular
AXES settings before constructing complicated graphs. Also, the
DKEEP directive allows you to extract the actual bounds used when plotting; these will be the bounds determined from the data if none have been defined explicitly by
Commands for: Graphics.