These functions provide a simple formula-based interface to plot3d and persp3d.

# S3 method for formula
plot3d(x, data = NULL, xlab, ylab, zlab, ...)
# S3 method for formula
persp3d(x, data = NULL, xlab, ylab, zlab, ...)



A formula like z ~ x + y.


An optional dataframe or list in which to find the components of the formula.

xlab, ylab, zlab

Optional axis labels to override the ones automatically obtained from the formula.


Additional arguments to pass to the default plot3d method, or the persp3d method for "deldir" objects.


Only simple formulas (the ones handled by the xyz.coords function) are supported: a single variable on the left hand side (which will be plotted on the Z axis), and a sum of two variables on the right hand side (which will be the X and Y axis variables in the plot.)


The persp3d method requires that the suggested package deldir is installed.


These functions are called for the side effect of drawing the plots. The plot3d method draws a scatterplot. The persp3d method draws a surface plot.

Return values are as given by the plot3d.default method or the persp3d.deldir methods.


Duncan Murdoch


mfrow3d(1, 2, sharedMouse = TRUE)
plot3d(mpg ~ wt + qsec, data = mtcars)
if (requireNamespace("deldir", quietly = TRUE)) persp3d(mpg ~ wt + qsec, data = mtcars)