A generic function that draws a 3D surface (rgl::persp3d())
colored according to a continuous scale associated with a vector
of values s, and (optionally) adds a color-bar legend (via splot3d()).
Usage
spersp3d(x, ...)
# Default S3 method
spersp3d(
x,
y = NULL,
z = NULL,
s = z,
slim = range(s, finite = TRUE),
col = jet.colors(128),
xlab = NULL,
ylab = NULL,
zlab = NULL,
xlim = NULL,
ylim = NULL,
zlim = NULL,
aspect = !add,
legend = TRUE,
legend.zoom = 0.4,
legend.width = 0.1,
legend.dim = 0.2,
legend.lab = NULL,
box = TRUE,
lab.breaks = NULL,
lab.ticksize = 0.5,
lab.dist = 3,
add = FALSE,
...
)Arguments
- x
object used to select a method. In the default method, it typically provides the grid values for the
xaxis. The grid may be specified in several ways, seergl::surface3d().- ...
additional arguments passed to
rgl::persp3d()for the main plot.- y
grid values for the
yaxis.- z
matrix with the surface height at each grid point (of dimension
length(x)bylength(y)ifxandyare vectors).- s
matrix with the values used for coloring the surface (one color per vertex). Defaults to
z.- slim
limits (vector of length 2 with the minimum and maximum) used to set up the color scale.
- col
color table used to set up the color scale. Defaults to
jet.colors(128).- xlab, ylab, zlab
titles for the axes (character strings; expressions are not accepted)
- xlim, ylim, zlim
x-, y- and z-limits. If present, the plot is clipped to this region.
- aspect
either a logical indicating whether to adjust the aspect ratio, or a new ratio.
- legend
logical; if
TRUE(default), the active rgl device is splitted into two subscenes, drawing the main plot in one and the categorical legend in the other (seefplot3d()). ifFALSEonly the (coloured) main plot is drawn and the arguments related to the legend are ignored (fplot3d()is not called).- legend.zoom
zoom factor applied to the legend subscene (see
rgl::view3d()).- legend.width
relative width of the color bar, as a fraction of the corresponding dimension of the legend subscene/panel.
- legend.dim
relative dimension of the legend panel, as a fraction of the full width (or height) of the device.
- legend.lab
legend title.
- box
logical; if
TRUE(the default) a rectangle is drawn around the color bar.- lab.breaks
labels for the legend axis breaks; if
NULLthey are generated automatically (seeaxis3()).- lab.ticksize
length of the legend axis tick marks, as a fraction of the distance to the center of the legend panel.
- lab.dist
distance between the tick marks and the labels of the legend axis, as a multiple of
lab.ticksize.- add
logical; if
TRUEthe scatter plot is just added to the existing plot (including the legend iflegend = TRUE).
Value
Called for its side effect (draws the 3D surface plot and, unless
legend = FALSE, the legend on the active rgl device).