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