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)