Draws a 3D scatterplot.
plot3d(x, ...)
# S3 method for default
plot3d(x, y, z,
xlab, ylab, zlab, type = "p", col,
size, lwd, radius,
add = FALSE, aspect = !add,
xlim = NULL, ylim = NULL, zlim = NULL,
forceClipregion = FALSE, ...)
# S3 method for mesh3d
plot3d(x, xlab = "x", ylab = "y", zlab = "z", type = c("shade", "wire", "dots"),
add = FALSE, ...)
decorate3d(xlim, ylim, zlim,
xlab = "x", ylab = "y", zlab = "z",
box = TRUE, axes = TRUE, main = NULL, sub = NULL,
top = TRUE, aspect = FALSE, expand = 1.03,
...)
vectors of points to be plotted. Any reasonable way of defining the
coordinates is acceptable. See the function xyz.coords
for details.
labels for the coordinates.
For the default method, a single character indicating the type of item to plot.
Supported types are: 'p' for points, 's' for spheres,
'l' for lines, 'h' for line segments
from z = 0
, and 'n' for nothing. For the mesh3d
method, one of
'shade', 'wire', or 'dots'. Partial matching is used.
the color to be used for plotted items.
the size for plotted points.
the line width for plotted items.
the radius of spheres: see Details below.
whether to add the points to an existing plot.
either a logical indicating whether to adjust the aspect ratio, or a new ratio.
how much to expand the box around the data, if it is drawn.
In plot3d
, if not NULL
, set clipping
limits for the plot. In decorate3d
, these are used
for the labels.
Force a clipping region to be used, whether or not limits are given.
additional parameters which will be passed to par3d
, material3d
or decorate3d
.
whether to draw a box and axes.
main title and subtitle.
whether to bring the window to the top when done.
plot3d
is called for the side effect of drawing the plot; a vector
of object IDs is returned.
decorate3d
adds the usual decorations to a plot: labels, axes, etc.
If any of xlim
, ylim
or zlim
are specified,
they should be length two vectors giving lower and upper
clipping limits for the corresponding coordinate. NA
limits will be ignored.
If any clipping limits are given, then the data will be
plotted in a newly created subscene within the current one;
otherwise plotting will take place directly in the current
subscene. This subscene is named "clipregion"
in the results. This may affect the appearance of transparent
objects if some are drawn in the plot3d
call and others after,
as rgl will not attempt to depth-sort objects if they are
in different subscenes. It is best to draw all overlapping
transparent objects in the same subscene. See the example
in planes3d
. It will also affect the use
of clipplanes3d
; clipping planes need to be in the
same subscene as the objects being clipped.
Use forceClipregion = TRUE
to force creation of this
subscene even without specifying limits.
plot3d
is a partial 3D analogue of plot.default.
Missing values in the data are skipped, as in standard graphics.
If aspect
is TRUE
, aspect ratios of c(1, 1, 1)
are passed to
aspect3d
. If FALSE
, no aspect adjustment is done. In other
cases, the value is passed to aspect3d
.
With type = "s"
, spheres are drawn centered at the specified locations.
The radius may be controlled by size
(specifying the size relative
to the plot display, with the default size = 3
giving a radius
about 1/20 of the plot region) or radius
(specifying it on the data scale
if an isometric aspect ratio is chosen, or on an average scale
if not).
plot.default
,
open3d
, par3d
.
There are plot3d.function
and plot3d.deldir
methods for plotting surfaces.
# NOT RUN {
open3d()
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x, y)
plot3d(x, y, z, col = rainbow(1000))
# }
Run the code above in your browser using DataLab