movieslice3D
plots 3D volumetric data as slices moving in one direction
in open-GL graphics.
It is based on the plot3Drgl
function slice3Drgl.
movieslice3D (x, y, z, colvar = NULL, xs = NULL,
ys = NULL, zs = NULL, along = NULL,
col = jet.col(100), NAcol = "white", breaks = NULL,
colkey = FALSE, clim = NULL, clab = NULL,
wait = NULL, ask = FALSE, add = FALSE, basename = NULL, ...)
returns nothing
Vectors with x, y and z-values.
They should be of length equal to the first, second and
third dimension of colvar
respectively.
The variable used for coloring.
It should be an array of dimension equal to
c(length(x), length(y), length(z))
.
It must be present.
Colors to be used for coloring the colvar
variable.
If col
is NULL
then a red-yellow-blue colorscheme (jet.col) will be used.
Colors to be used for colvar
values that are NA
.
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.
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.
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
.
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.
Vectors specify the positions in x, y or z where the slices (planes) are to be drawn consecutively.
The movie will loop over the slices, each time projecting the values of colvar
on them.
If all xs, ys, zs
are NULL
, then xs
will be taken equal to x
.
A number 1, 2, 3 denoting the dimension over which the slices are to be moved.
If NULL
, then the dimension will be the one corresponding to the longest vector xs, ys, zs
.
Logical. If TRUE
, then the slices will be added to the current plot.
If FALSE
a new plot is started.
Logical. If TRUE
, then the new slice will only be drawn after a key has been struck. If FALSE
, redrawing will depend on wait
The time interval inbetween drawing of a new slice, in seconds.
If NULL
, the drawing will not be suspended.
The base name of a png
file to be produced for each movieframe.
additional arguments passed to slice3D from package
plot3D
or to plotrgl
from package plot3Drgl
.
Karline Soetaert <karline.soetaert@nioz.nl>
Sylt3D for a data set that can be displayed with movieslice3D
moviepoints3D for plotting moving points in 3D
x <- y <- z <- seq(-1, 1, by = 0.1)
grid <- mesh(x, y, z)
colvar <- with(grid, x*exp(-x^2 - y^2 - z^2))
movieslice3D (x, y, z, colvar = colvar, ticktype = "detailed")
Run the code above in your browser using DataLab