scatter3d
function uses the rgl
package to draw 3D scatterplots
with various regression surfaces. The function identify3d
allows you to label points interactively with the mouse:
Press the right mouse button (on a two-button mouse) or the centre button (on a
three-button mouse), drag a
rectangle around the points to be identified, and release the button.
Repeat this procedure for each point or
set of ``nearby'' points to be identified. To exit from point-identification mode,
click the right (or centre) button an empty region of the plot.scatter3d(x, y, z,
xlab=deparse(substitute(x)), ylab=deparse(substitute(y)),
zlab=deparse(substitute(z)),
revolutions=0, bg.col=c("white", "black"),
axis.col=if (bg.col == "white") "black" else "white",
surface.col=c("blue", "green", "orange", "magenta",
"cyan", "red", "yellow", "gray"),
neg.res.col="red", pos.res.col="green", point.col="yellow",
text.col=axis.col,
grid.col=if (bg.col == "white") "black" else "gray",
fogtype=c("exp2", "linear", "exp", "none"),
residuals=(length(fit) == 1), surface=TRUE, grid=TRUE,
grid.lines=26, df.smooth=NULL, df.additive=NULL,
sphere.size=1, threshold=0.01, speed=1, fov=60,
fit="linear", groups=NULL, parallel=TRUE, model.summary=FALSE)
identify3d(x, y, z, groups=NULL, labels=1:length(x),
col=c("blue", "green", "orange", "magenta", "cyan", "red", "yellow", "gray"),
offset = ((100/length(x))^(1/3)) * 0.02)
"white"
, "black"
."white"
for black background,
"black"
for white background.fit
."exp2"
, "linear"
,
"exp"
, "none".
TRUE
or FALSE
); available only
when there is one surface plotted.TRUE
or FALSE
).TRUE
or FALSE
).NULL
(the default), the gam
function will select the degrees of freedom
for a smoothing spline by generalized NULL
(the default), the gam
function will select degrees of freedom
for the smoothing splines by generalized cross-validation; if a positiv"linear"
, "quadratic"
, "smooth"
,
"additive"
; to display fitted surface(s); partial matching is supported --
e.g., c("lin", "quad")
.NULL
(the default), no groups are defined; if a factor, a different surface
or set of surfaces is plotted for each level of the factor; in this event, the colours in
plane.col
are used successively for the points, sgroups
, should the surfaces be constrained to be
parallel? A logical value, with default TRUE
.TRUE
or FALSE
).plane.col
argument to scatter3d
scatter3d
not return a useful value; it is used for its side-effect of
creating a 3D scatterplot. indentify3d
returns the labels of the
identified points.rgl.open
, gam
State.x77 <- as.data.frame(state.x77)
with(State.x77, scatter3d(Income, Murder, Illiteracy))
with(State.x77, identify3d(Income, Murder, Illiteracy, labels=row.names(State.x77)))
with(State.x77, scatter3d(Income, Murder, Illiteracy, fit=c("linear", "quadratic")))
Run the code above in your browser using DataCamp Workspace