Plots a 3-dimensional graph.
Options
TITLE = text |
General title; default * |
---|---|
WINDOW = scalar |
Window number for the plots; default 1 |
KEYWINDOW = scalar |
Window number for the key (zero for no key); default 2 |
ELEVATION = scalar |
The elevation of the viewpoint relative to the surface; default 25 (degrees) |
AZIMUTH = scalar |
Rotation about the horizontal plane; the default of 225 degrees ensures that a point at the minimum x- and y-value is nearest to the viewpoint |
DISTANCE = scalar |
Distance of the viewpoint from the centre of the grid on the base plane; default * ensures that the data points fill the viewing area |
SCREEN = string token |
Whether to clear the screen before plotting or to continue plotting on the old screen (clear , keep , resize ); default clea |
KEYDESCRIPTION = text |
Overall description for the key; default * |
ENDACTION = string token |
Action to be taken after completing the plot (continue , pause ); default * uses the setting from the last DEVICE statement |
Parameters
X = identifiers |
X-coordinates |
---|---|
Y = identifiers |
Y-coordinates |
Z = identifiers |
Z-coordinates |
PEN = scalars or variates or factors |
Pen number for each graph (use of a variate or factor allows different pens to be defined for different sets of units); default * uses pens 1, 2, and so on for the successive graphs |
DESCRIPTION = texts |
Annotation for key |
UNITNUMBERS = identifiers |
Specifies unit numbers to be used when points are selected in the graphics viewer; default * uses the actual unit numbers of the values in the X and Y structures |
Description
The D3GRAPH
directive produces high-resolution graphs, containing points, lines or filled shapes in three dimensions. The graph is produced on the current graphics device which can be selected using the DEVICE
directive. The WINDOW
option defines the window, within the plotting area, in which the graph is drawn; by default this is window 1.
The position of the viewpoint is specified in polar coordinates, using the options ELEVATION
, DISTANCE
and AZIMUTH
. These define the angle of elevation, in degrees, above the base plane of the surface, distance from the centre of this plane, and angular position relative to the vertical z-axis, respectively.
The default settings of ELEVATION
, DISTANCE
and AZIMUTH
have been chosen to produce a reasonable display of most situations; but if, for example, some parts of the plot are obscured they can be modified to obtain a better view. Altering the value of AZIMUTH
will, in effect, rotate the plot in the horizontal plane about a vertical axis drawn through the centre of the plot; the default value of 225 degrees ensures that a point with the minimum x- and y-value would be at the corner nearest the viewpoint.
The X
, Y
and Z
parameters specify the coordinates of the points to be plotted; they must be numerical structures (scalars, variates, factors, matrices or tables) of equal length. If any of the variates or factors is restricted, only the subset of values specified by the restriction will be included in the graph. The restrictions are applied to the X
, Y
and Z
variates or factors in parallel sets, and do not carry over to all the variates or factors in a list. Any associated structures, like variates specified by the PEN
parameter or factors used to provide labels for the points, must be of the same length as X
, Y
and Z
.
Each set of X
, Y
and Z
structures has an associated pen, specified by the PEN
parameter. By default, pen 1 is used for the first set, pen 2 for the second, and so on. The type of graph that is produced is determined by the METHOD
setting of that pen. This can be point
, to produce a point plot or scatterplot; line
to join the points with straight lines; or fill
to produce shaded objects. In the initial graphics environment, all the pens are defined to produce point plots. This can be modified using the METHOD
option of the PEN
directive. Other attributes of the pen can be used to control the colour, font, symbols and labels.
With METHOD=fill
, the points defined by the
X
, Y
and Z
variates are joined by straight lines to form one or more polygons or polyhedrons which are then filled using the brush style specified for the pen. The JOIN
parameter of PEN
is ignored for this directive. The points are plotted in the order in which they occur in the data.
A warning message is printed if the data contain missing values. The effect of these depends on the type of graph being produced, as follows. If the method is point
there will be no indication on the graph itself that any points were missing (but obviously none of the points with missing values for either the x-, y- or z-coordinate can be included in the plot). If a line is plotted through the points there will be a break wherever a missing value is found; that is, line segments will be omitted between points that are separated by missing values. When using METHOD=fill
missing values will, in effect, define subsets of points, each of which will be shaded separately.
The PEN
parameter can also be set to a variate or factor, to allow different pens to be used for different subsets of the units. With a factor, the units with each level are plotted separately, using the pen defined by the level concerned. If
PEN
is set to a variate, its values similarly define the pen for each unit. For example, if you fit separate regression lines to some grouped data, you can easily plot the fitted lines in just two statements, one to set up the pens and one to plot the data:
PEN 1...Ngroups; METHOD=line; SYMBOL=0
D3GRAPH Fitted; X1; X2; PEN=Groups
By default, Genstat calculates bounds on the axes that are wide enough to include all the data; the range of the data is extended by five percent at each end, and the axes are drawn on the left-hand side and bottom edge of the graph. This can all be changed by the XAXIS
, YAXIS
and ZAXIS
directives using the LOWER
and UPPER
parameters to set the bounds, and XORIGIN
, YORIGIN
and ZORIGIN
to control the positions of the axes. Other parameters allow you to control the axis labelling and style. If the axis bounds are too narrow, some points may be excluded from the graph, so that clipping occurs. If the plotting method is point
, Genstat ignores points that are out of bounds. For other settings of METHOD
, lines are drawn from points that are within bounds towards points that are out of bounds, terminating at the appropriate edge. Clipping may also occur if the method is monotonic
, open
or closed
and you have left Genstat to set default axis bounds, because these methods fit curves that may extend beyond the boundaries. If this occurs you should use the relevant axis directive to provide increased axis bounds. When you use several D3GRAPH
statements with SCREEN=keep
to build up a complex graph, the axes are drawn only the first time, and the same axes bounds are then used for the subsequent graphs. You should then define axis limits that enclose all the subsequent data. Alternatively, if you set SCREEN=resize
, the axes and their bounds will be adjusted, if necessary, to enclose the additional information. Axes are drawn only if SCREEN=clear
, or the specified window has not been used since the screen was last cleared, or the window has been redefined by a FRAME
statement.
The KEYWINDOW
option specifies the window in which the key appears; by default this is window 2. Alternatively, you can set KEYWINDOW=0
to suppress the key. The key contains a line of information for each pair of Y
and X
structures, written with the associated pen. This will indicate the symbol used, the line style (for a plotting method of line
or curve
) or a shaded block to illustrate the brush style (when METHOD=fill
), the name of the structure (if any) defined by the LABELS
parameter of PEN
, and a description indicating the identifiers of the data plotted (for example Residuals v Fitted
). Alternatively, you can supply your own key, using the DESCRIPTION
parameter, and you can specify a title for the key using the KEYDESCRIPTION
option. If you draw several graphs using SCREEN=keep
or SCREEN=resize
and the same key window, each new set of information is appended to the existing key, until the window is full.
If you have set the PEN
parameter to a variate or factor in order to plot independent subsets of the data, the key will contain information for each subset. If the LABELS
parameter of PEN
has been used to specify labels for the points, each line of the key will contain the label corresponding to the first value of the subset, rather than the identifier of the labels structure itself.
The Graphics Viewer has a tool that allows you to select points, and copy their unit numbers onto the clipboard. Usually these numbers are simply the locations of the plotted values in the X
and Y
structures. However, you can use the UNITNUMBERS
parameter to supply other numbers. (This may be useful if, for example, you are plotting sorted values.)
The TITLE
option can be used to provide a title for the graph. You can also put titles on the axes by using the TITLE
parameters of the XAXIS
, YAXIS
and ZAXIS
directives. The SCREEN
option controls whether the graphical display is cleared before the graph is plotted, and the ENDACTION
option controls whether Genstat pauses at the end of the plot.
Options: TITLE
, WINDOW
, KEYWINDOW
, ELEVATION
, AZIMUTH
, DISTANCE
, SCREEN
, KEYDESCRIPTION
, ENDACTION
.
Parameters: X
, Y
, Z
, PEN
, DESCRIPTION
, UNITNUMBERS
.
Action with RESTRICT
You can arrange to plot only a subset of the points specified by a particular set of X
, Y
and Z
vectors and associated PEN
vector, by restricting any one of them. If more than one of these is restricted, then they must all be restricted in exactly the same way.
See also
Directives: DGRAPH
, D3HISTOGRAM
, FRAME
, XAXIS
, YAXIS
, ZAXIS
, PEN
.
Procedures: DSCATTER
, DXYDENSITY
, TRELLIS
.
Commands for: Graphics.
Example
" Examples 1:6.2.2, 1:6.7.2 & 1:6.7.4; Figures 1:6.2.2, 1:6.7.2,4 & 5 " VARIATE [NVALUES=150] Plength,Pwidth,Slength,Swidth READ Slength,Swidth,Plength,Pwidth 5.1 3.5 1.4 0.2 4.9 3.0 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0.2 5.0 3.6 1.4 0.2 5.4 3.9 1.7 0.4 4.6 3.4 1.4 0.3 5.0 3.4 1.5 0.2 4.4 2.9 1.4 0.2 4.9 3.1 1.5 0.1 5.4 3.7 1.5 0.2 4.8 3.4 1.6 0.2 4.8 3.0 1.4 0.1 4.3 3.0 1.1 0.1 5.8 4.0 1.2 0.2 5.7 4.4 1.5 0.4 5.4 3.9 1.3 0.4 5.1 3.5 1.4 0.3 5.7 3.8 1.7 0.3 5.1 3.8 1.5 0.3 5.4 3.4 1.7 0.2 5.1 3.7 1.5 0.4 4.6 3.6 1.0 0.2 5.1 3.3 1.7 0.5 4.8 3.4 1.9 0.2 5.0 3.0 1.6 0.2 5.0 3.4 1.6 0.4 5.2 3.5 1.5 0.2 5.2 3.4 1.4 0.2 4.7 3.2 1.6 0.2 4.8 3.1 1.6 0.2 5.4 3.4 1.5 0.4 5.2 4.1 1.5 0.1 5.5 4.2 1.4 0.2 4.9 3.1 1.5 0.2 5.0 3.2 1.2 0.2 5.5 3.5 1.3 0.2 4.9 3.6 1.4 0.1 4.4 3.0 1.3 0.2 5.1 3.4 1.5 0.2 5.0 3.5 1.3 0.3 4.5 2.3 1.3 0.3 4.4 3.2 1.3 0.2 5.0 3.5 1.6 0.6 5.1 3.8 1.9 0.4 4.8 3.0 1.4 0.3 5.1 3.8 1.6 0.2 4.6 3.2 1.4 0.2 5.3 3.7 1.5 0.2 5.0 3.3 1.4 0.2 7.0 3.2 4.7 1.4 6.4 3.2 4.5 1.5 6.9 3.1 4.9 1.5 5.5 2.3 4.0 1.3 6.5 2.8 4.6 1.5 5.7 2.8 4.5 1.3 6.3 3.3 4.7 1.6 4.9 2.4 3.3 1.0 6.6 2.9 4.6 1.3 5.2 2.7 3.9 1.4 5.0 2.0 3.5 1.0 5.9 3.0 4.2 1.5 6.0 2.2 4.0 1.0 6.1 2.9 4.7 1.4 5.6 2.9 3.6 1.3 6.7 3.1 4.4 1.4 5.6 3.0 4.5 1.5 5.8 2.7 4.1 1.0 6.2 2.2 4.5 1.5 5.6 2.5 3.9 1.1 5.9 3.2 4.8 1.8 6.1 2.8 4.0 1.3 6.3 2.5 4.9 1.5 6.1 2.8 4.7 1.2 6.4 2.9 4.3 1.3 6.6 3.0 4.4 1.4 6.8 2.8 4.8 1.4 6.7 3.0 5.0 1.7 6.0 2.9 4.5 1.5 5.7 2.6 3.5 1.0 5.5 2.4 3.8 1.1 5.5 2.4 3.7 1.0 5.8 2.7 3.9 1.2 6.0 2.7 5.1 1.6 5.4 3.0 4.5 1.5 6.0 3.4 4.5 1.6 6.7 3.1 4.7 1.5 6.3 2.3 4.4 1.3 5.6 3.0 4.1 1.3 5.5 2.5 4.0 1.3 5.5 2.6 4.4 1.2 6.1 3.0 4.6 1.4 5.8 2.6 4.0 1.2 5.0 2.3 3.3 1.0 5.6 2.7 4.2 1.3 5.7 3.0 4.2 1.2 5.7 2.9 4.2 1.3 6.2 2.9 4.3 1.3 5.1 2.5 3.0 1.1 5.7 2.8 4.1 1.3 6.3 3.3 6.0 2.5 5.8 2.7 5.1 1.9 7.1 3.0 5.9 2.1 6.3 2.9 5.6 1.8 6.5 3.0 5.8 2.2 7.6 3.0 6.6 2.1 4.9 2.5 4.5 1.7 7.3 2.9 6.3 1.8 6.7 2.5 5.8 1.8 7.2 3.6 6.1 2.5 6.5 3.2 5.1 2.0 6.4 2.7 5.3 1.9 6.8 3.0 5.5 2.1 5.7 2.5 5.0 2.0 5.8 2.8 5.1 2.4 6.4 3.2 5.3 2.3 6.5 3.0 5.5 1.8 7.7 3.8 6.7 2.2 7.7 2.6 6.9 2.3 6.0 2.2 5.0 1.5 6.9 3.2 5.7 2.3 5.6 2.8 4.9 2.0 7.7 2.8 6.7 2.0 6.3 2.7 4.9 1.8 6.7 3.3 5.7 2.1 7.2 3.2 6.0 1.8 6.2 2.8 4.8 1.8 6.1 3.0 4.9 1.8 6.4 2.8 5.6 2.1 7.2 3.0 5.8 1.6 7.4 2.8 6.1 1.9 7.9 3.8 6.4 2.0 6.4 2.8 5.6 2.2 6.3 2.8 5.1 1.5 6.1 2.6 5.6 1.4 7.7 3.0 6.1 2.3 6.3 3.4 5.6 2.4 6.4 3.1 5.5 1.8 6.0 3.0 4.8 1.8 6.9 3.1 5.4 2.1 6.7 3.1 5.6 2.4 6.9 3.1 5.1 2.3 5.8 2.7 5.1 1.9 6.8 3.2 5.9 2.3 6.7 3.3 5.7 2.5 6.7 3.0 5.2 2.3 6.3 2.5 5.0 1.9 6.5 3.0 5.2 2.0 6.2 3.4 5.4 2.3 5.9 3.0 5.1 1.8 : FACTOR [NVALUES=150; LABELS=!t(Setosa,Versicolor,Virginica);\ VALUES=50(1,2,3)] Species PEN 1; SYMBOL='sphere'; COLOUR='red'; SIZE=2 XAXIS 1; Title='Sepal Width (mm)' YAXIS 1; Title='Sepal Length (mm)' ZAXIS 1; Title='Petal Length (mm)' D3GRAPH [TITLE='Fisher''s Iris Data'; AZIMUTH=230; ELEVATION=50; KEY=0]\ Swidth; Slength; Plength PEN [RESET=yes] 1...3; CSYMBOL='red','blue','darkgreen';\ CFILL='red','blue','darkgreen'; SYMBOL='circle' DGRAPH [KEYWINDOW=0] Y=Slength; X=Swidth; PEN=Species CALCULATE mpl,mpw = MEAN(Slength,Swidth) PEN 4,5; CLINE='olive'; CSYMBOL='olive' DREFERENCELINE [ORIENTATION=horizontal] mpl; LABEL='Mean length';\ PEN=4; PENLABEL=5 DREFERENCELINE [ORIENTATION=vertical] mpw; LABEL='Mean width';\ PEN=4; PENLABEL=5; XLPOSITION=right CALCULATE Wsd,Lsd = SQRT(VARIANCE(Slength,Swidth)) DERRORBAR Wsd; Y=7; LABEL='s.d.'; YLPOSITION=centre & [ORIENTATION=horizontal] Lsd; X=4; LABEL='s.d.';\ YLPOSITION=above; XLPOSITION=centre FRAME 6; YLOWER=0; YUPPER=1; XLOWER=0.72; XUPPER=1 DKEY [WINDOW=6; NCOLUMNS=1; PENLABELS=!(1...3); BORDER=none; XLOFFSET=-6]\ !T('~i{Iris setosa}','~i{Iris versicolour}','~i{Iris virginica}');\ METHOD='none'