R: Add a grid to a 3D plot

grid3d {rgl} | R Documentation

## Add a grid to a 3D plot

### Description

This function adds a reference grid to an RGL plot.

### Usage

    grid3d(side, at = NULL, col = "gray", lwd = 1, lty = 1, n = 5)

### Arguments

`side` | Where to put the grid; see the Details section.
`at` | How to draw the grid; see the Details section.
`col` | The color of the grid lines.
`lwd` | The line width of the grid lines. (Currently only `lty = 1` is supported.)
`lty` | The line type of the grid lines.
`n` | Suggested number of grid lines; see the Details section.

### Details

This function is similar to `grid` in classic graphics, except that it draws a 3D grid in the plot.

The grid is drawn in a plane perpendicular to the coordinate axes. The first letter of the `side` argument specifies the direction of the plane: `"x"`, `"y"` or `"z"` (or uppercase versions) to specify the coordinate which is constant on the plane.

If `at = NULL` (the default), the grid is drawn at the limit of the box around the data. If the second letter of the `side` argument is `"-"` or is not present, it is the lower limit; if `"+"` then at the upper limit. The grid lines are drawn at values chosen by `pretty` with `n` suggested locations. The default locations should match those chosen by `axis3d` with `nticks = n`.

If `at` is a numeric vector, the grid lines are drawn at those values.

If `at` is a list, then the `"x"` component is used to specify the x location, the `"y"` component specifies the y location, and the `"z"` component specifies the z location. Missing components are handled using the default as for `at = NULL`.

Multiple grids may be drawn by specifying multiple values for `side` or for the component of `at` that specifies the grid location.

### Value

A vector or matrix of object ids is returned invisibly.

### Note

If the scene is resized, the grid will not be resized; use `abclines3d` to draw grid lines that will automatically resize.

### Author(s)

Ben Bolker and Duncan Murdoch

### See Also

`axis3d`

### Examples

    x <- 1:10
    y <- 1:10
    z <- matrix(outer(x - 5, y - 5) + rnorm(100), 10, 10)
    open3d()
    persp3d(x, y, z, col = "red", alpha = 0.7, aspect = c(1, 1, 0.5))
    grid3d(c("x", "y+", "z"))

[Package rgl version 0.99.9 Index]