Creación de gráficos 3D en programación R: función persp()

La trama 3D en lenguaje R se usa para agregar títulos, cambiar la dirección de visualización y agregar color y sombra a la trama. La función persp() que se utiliza para crear superficies 3D en vista en perspectiva. Esta función dibujará gráficos en perspectiva de una superficie sobre el plano x-y. persp() se define como una función genérica. Además, se puede utilizar para superponer elementos gráficos adicionales en el gráfico 3D, mediante líneas() o puntos(), utilizando la función trans3d().

Función persp() en lenguaje de programación R

Sintaxis: persp(x, y, z)

Parámetro: esta función acepta diferentes parámetros, es decir , x, y y z, donde x e y son vectores que definen la ubicación a lo largo de los ejes x e y. El eje z será la altura de la superficie en la array z.

Valor devuelto: persp() devuelve la array de transformación de visualización para proyectar coordenadas 3D (x, y, z) en el plano 2D utilizando coordenadas 4D homogéneas (x, y, z, t).

Ejemplo 1: Cono circular recto simple

R

# To illustrate simple right circular cone
cone <- function(x, y){
sqrt(x ^ 2 + y ^ 2)
}
 
# prepare variables.
x <- y <- seq(-1, 1, length = 30)
z <- outer(x, y, cone)
 
# plot the 3D surface
persp(x, y, z)

Producción:

Aquí, en el código anterior, función seq() para generar un vector de números igualmente espaciados. La función outside() para aplicar el cono de función en cada combinación de x e y.

Ejemplo 2: agregar títulos y etiquetar ejes a la trama

Python3

# Adding Titles and Labeling Axes to Plot
cone <- function(x, y){
sqrt(x ^ 2 + y ^ 2)
}
 
# prepare variables.
x <- y <- seq(-1, 1, length = 30)
z <- outer(x, y, cone)
 
# plot the 3D surface
# Adding Titles and Labeling Axes to Plot
persp(x, y, z,
main="Perspective Plot of a Cone",
zlab = "Height",
theta = 30, phi = 15,
col = "orange", shade = 0.4)

Producción: 

Aquí, en el código anterior, se pueden usar xlab, ylab y zlab para etiquetar los tres ejes. Theta y phi están viendo la dirección.

Ejemplo 3: visualización de un DEM simple (modelo de elevación digital)

Python3

# Visualizing a simple DEM model
 
z <- 2 * volcano     # Exaggerate the relief
x <- 10 * (1:nrow(z)) # 10 meter spacing (S to N)
y <- 10 * (1:ncol(z)) # 10 meter spacing (E to W)
 
 
# Don't draw the grid lines : border = NA
par(bg = "gray")
persp(x, y, z, theta = 135, phi = 30,
      col = "brown", scale = FALSE,
    ltheta = -120, shade = 0.75,
      border = NA, box = FALSE)

Producción: 

Publicación traducida automáticamente

Artículo escrito por kaurbal1698 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *