# How to Create 3D Plots in R (With Examples)

The easiest way to create a 3D plot in R is to use the persp() function.

`persp(x, y, z)`

The following examples show how to use this function in practice.

## Example 1: Basic 3D Plot

The following code shows how to create a basic 3D plot:

```#define x and y
x <- -10:10
y <- -10:10

#define function to create z-values
z_values <- function(x, y) {
sqrt(x ^ 2 + y ^ 2)
}

#create z-values
z = outer(x, y, z_values)

#create 3D plot
persp(x, y, z)```

## Example 2: Custom 3D Plot

The following code shows how to customize the axis labels, title, color, and shade of the plot:

```#define x and y
x <- -10:10
y <- -10:10

#define function to create z-values
z_values <- function(x, y) {
sqrt(x ^ 2 + y ^ 2)
}

#create z-values
z = outer(x, y, z_values)

#create 3D plot
persp(x, y, z, xlab='X Variable', ylab='Y Variable', zlab='Z Variable',
```

## Example 3: Rotate the 3D Plot

The following code shows how to rotate the 3D plot to make it easier to view, using the theta and phi arguments:

```#define x and y
x <- -10:10
y <- -10:10

#define function to create z-values
z_values <- function(x, y) {
sqrt(x ^ 2 + y ^ 2)
}

#create z-values
z = outer(x, y, z_values)

#create 3D plot
persp(x, y, z, xlab='X Variable', ylab='Y Variable', zlab='Z Variable',
main='3D Plot', col='pink', shade=.4, theta = 30, phi = 15)```

## Example 4: Add Tick Marks to the 3D Plot

The following code shows how to use the ticktype argument to add tick marks with labels to each axis:

```#define x and y
x <- -10:10
y <- -10:10

#define function to create z-values
z_values <- function(x, y) {
sqrt(x ^ 2 + y ^ 2)
}

#create z-values
z = outer(x, y, z_values)

#create 3D plot
persp(x, y, z, xlab='X Variable', ylab='Y Variable', zlab='Z Variable',
main='3D Plot', col='pink', shade=.4, theta = 30, phi = 15, ticktype='detailed')```