# R 3D Plot

In this article, you will learn to create 3D plots. Also, you will learn to add title, change viewing direction, and add color and shade to the plot.

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 of the plot is done with parameter `col`.
Similarly, we can add shading with the parameter `shade`.
``````persp(x, y, z,