# axes3d

##### Draw boxes, axes and other text outside the data

These functions draw axes, boxes and text outside the range of the data.
`axes3d`

, `box3d`

and `title3d`

are the higher level functions;
normally the others need not be called directly by users.

- Keywords
- dynamic

##### Usage

```
axes3d(edges = "bbox", labels = TRUE, tick = TRUE, nticks = 5,
box = FALSE, expand = 1.03, ...)
box3d(...)
title3d(main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
zlab = NULL, line = NA, ...)
axis3d(edge, at = NULL, labels = TRUE, tick = TRUE, line = 0,
pos = NULL, nticks = 5, ...)
mtext3d(text, edge, line = 0, at = NULL, pos = NA, ...)
```

##### Arguments

- edges
a code to describe which edge(s) of the box to use; see Details below

- labels
whether to label the axes, or (for

`axis3d`

) the labels to use- tick
whether to use tick marks

- nticks
suggested number of ticks

- box
draw the full box if

`"bbox"`

axes are used- expand
how much to expand the box around the data

- main
the main title for the plot

- sub
the subtitle for the plot

- xlab, ylab, zlab
the axis labels for the plot

- line
the ``line'' of the plot margin to draw the label on

- edge, pos
the position at which to draw the axis or text

- text
the text to draw

- at
the value of a coordinate at which to draw the axis

- …
additional parameters which are passed to

`bbox3d`

or`material3d`

##### Details

The rectangular prism holding the 3D plot has 12 edges. They are identified
using 3 character strings. The first character (`x', `y', or `z') selects
the direction of the axis. The next two characters are each `-' or `+',
selecting the lower or upper end of one of the other coordinates. If only
one or two characters are given, the remaining characters default to `-'.
For example `edge = 'x+'`

draws an x-axis at the high level of y and the
low level of z.

By default, `axes3d`

uses the `bbox3d`

function to draw the axes.
The labels will move so that they do not obscure the data. Alternatively,
a vector of arguments as described above may be used, in which case
fixed axes are drawn using `axis3d`

.

If `pos`

is a numeric vector of length 3, `edge`

determines
the direction of the axis and the tick marks, and the values of the
other two coordinates in `pos`

determine the position. See the
examples.

##### Value

These functions are called for their side effects. They return the object IDs of objects added to the scene.

##### See Also

Classic graphics functions `axis`

, `box`

,
`title`

, `mtext`

, and rgl function `bbox3d`

.

##### Examples

```
# NOT RUN {
open3d()
points3d(rnorm(10), rnorm(10), rnorm(10))
# First add standard axes
axes3d()
# and one in the middle (the NA will be ignored, a number would
# do as well)
axis3d('x', pos = c(NA, 0, 0))
# add titles
title3d('main', 'sub', 'xlab', 'ylab', 'zlab')
rgl.bringtotop()
open3d()
points3d(rnorm(10), rnorm(10), rnorm(10))
# Use fixed axes
axes3d(c('x', 'y', 'z'))
# Put 4 x-axes on the plot
axes3d(c('x--', 'x-+', 'x+-', 'x++'))
axis3d('x', pos = c(NA, 0, 0))
title3d('main', 'sub', 'xlab', 'ylab', 'zlab')
# }
```

*Documentation reproduced from package rgl, version 0.100.50, License: GPL*