There are many functions in R programming for creating 3D plots. In this
section, we will discuss on the persp()
function which can be
used to create 3D surfaces in perspective view.
This function mainly takes in three variables, x
,
y
and z
where x
and y
are
vectors defining the
location along x- and y-axis. The height of the surface (z-axis) will be in
the matrix z
. As an example,
Let's plot a cone. A simple right circular cone can be obtained with the following function.
cone <- function(x, y){
sqrt(x^2+y^2)
}
Now let's prepare our variables.
x <- y <- seq(-1, 1, length= 20)
z <- outer(x, y, cone)
We used the function seq()
to generate vector of equally spaced
numbers.
Then, we used the outer()
function to apply the function
cone
at every combination of x
and y
.
Finally, plot the 3D surface as follows.
persp(x, y, z)
Adding Titles and Labeling Axes to Plot
We can add a title to our plot with the parameter main
.
Similarly, xlab
, ylab
and zlab
can be
used to label the three axes.
Rotational angles
We can define the viewing direction using parameters theta
and
phi
.
By default theta
, azimuthal direction, is 0 and phi
,
colatitude direction, is 15.
Coloring and Shading Plot
Coloring of the plot is done with parameter col
.
Similarly, we can add shading with the parameter shade
.
persp(x, y, z,
main="Perspective Plot of a Cone",
zlab = "Height",
theta = 30, phi = 15,
col = "springgreen", shade = 0.5)