Learn R Programming

OceanView (version 1.0.7)

Moving surfaces in 3D: Plotting moving surfaces in 3D using rgl

Description

moviepersp3D plots moving perspective plots of a surface in open-GL.

It is based on the plot3Drgl function persp3Drgl.

Usage

moviepersp3D (z, x = NULL, y = NULL, t = NULL, colvar = z, tdim = 1,
  col = jet.col(100), NAcol = "white", breaks = NULL,
  colkey = FALSE, clim = NULL, clab = NULL,
  wait  = NULL, ask = FALSE, add = FALSE, basename = NULL, ... )

Value

returns nothing

Arguments

x, y, t

Vectors with x, y and t-values. Their position in the z-array depends on tdim.

z

Three-dimensional array with the z-values to be plotted.

tdim

Index to where the time variable (over which the plot will loop) is to be found in z and colvar. The default is the first position, so that z and colvar are of dimension (length(t), length(x), (length(y).

colvar

The variable used for coloring. It should be an array of dimension equal to the dimension of z. It need not be present.

col

Colors to be used for coloring the colvar variable. If col is NULL then a red-yellow-blue colorscheme (jet.col) will be used.

NAcol

Colors to be used for colvar values that are NA.

breaks

A set of finite numeric breakpoints for the colors; must have one more breakpoint than color and be in increasing order. Unsorted vectors will be sorted, with a warning.

colkey

A logical, NULL (default), or a list with parameters for the color key (legend). If colkey = NULL then a color key will be added only if col is a vector. Setting colkey = list(plot = FALSE) will create room for the color key without drawing it. if colkey = FALSE, no color key legend will be added.

clim

Only if colvar is specified, the range of the color variable values. Values of colvar that extend the range will be put to NA and colored as specified with NAcol.

clab

Only if colkey is not NULL or FALSE, the label to be written on top of the color key. The label will be written at the same level as the main title. To lower it, clab can be made a vector, with the first values empty strings.

add

Logical. If TRUE, then the slices will be added to the current plot. If FALSE a new plot is started.

ask

Logical. If TRUE, then the new slice will only be drawn after a key has been struck. If FALSE, redrawing will depend on wait

wait

The time interval inbetween drawing of a new slice, in seconds. If NULL, the drawing will not be suspended.

basename

The base name of a png file to be produced for each movieframe.

...

additional arguments passed to persp3Drgl from package plot3Drgl.

Author

Karline Soetaert <karline.soetaert@nioz.nl>

See Also

Sylt3D for a data set that can be displayed with moviepersp3D

moviepoints3D for plotting moving points in 3D

movieslice3D for plotting moving slices in 3D

Examples

Run this code
 x <- y <- t <- seq(-1, 1, by = 0.1)
 grid   <- mesh(x, y, t)
 z <- with(grid, x*exp(-x^2 - y^2 - z^2))

 moviepersp3D  (x, y, z = z, colvar = z, colkey = TRUE,
   ticktype = "detailed", wait = 0.1, main = "t = ")

if (FALSE) {
 moviepersp3D (x, y, z = z, colvar = z, colkey = TRUE,
   aspect = TRUE, bty = "n", ask = FALSE, main = "t = ")
}

Run the code above in your browser using DataLab