Librería

plotly

Gráfico de dispersión 3D

plotly permite crear gráficos 3D interactivos en R, que se pueden rotar, ampliar y explorar pasando el ratón por encima de los elementos. En este tutorial aprenderás a crear gráficos de dispersión 3D y gráficos de superficie.

Para crear un gráfico de dispersión 3D pasa tres variables a x, y y z y establece type = "scatter3d" y mode = "markers". En el siguiente ejemplo utilizamos tres variables del conjunto de datos iris. Arrastra el gráfico para rotarlo.

# install.packages("plotly")
library(plotly)

plot_ly(iris, x = ~Sepal.Length, y = ~Sepal.Width,
        z = ~Petal.Length,
        type = "scatter3d", mode = "markers")

Gráfico de dispersión 3D por grupo

Como en otros gráficos de plotly puedes colorear los puntos por grupo asignando una variable a color y estableciendo los colores con colors. Ten en cuenta que en los gráficos 3D los puntos son grandes por defecto, por lo que puede que quieras reducir su tamaño con marker = list(size = ...).

plot_ly(iris, x = ~Sepal.Length, y = ~Sepal.Width,
        z = ~Petal.Length, color = ~Species,
        colors = c("#7B2CBF", "#F72585", "#4CC9F0"),
        marker = list(size = 4),
        type = "scatter3d", mode = "markers")

Títulos de los ejes

Los ejes de los gráficos 3D se personalizan dentro del argumento scene de layout, pasando listas a xaxis, yaxis y zaxis. En este ejemplo cambiamos los títulos de los tres ejes.

plot_ly(iris, x = ~Sepal.Length, y = ~Sepal.Width,
        z = ~Petal.Length, color = ~Species,
        marker = list(size = 4),
        type = "scatter3d", mode = "markers") |>
  layout(scene = list(xaxis = list(title = "Longitud del sépalo"),
                      yaxis = list(title = "Anchura del sépalo"),
                      zaxis = list(title = "Longitud del pétalo")))

Gráfico de superficie

Los gráficos de superficie muestran una variable sobre una rejilla y se crean a partir de una matriz, donde los valores son las alturas (z) y las filas y columnas son las posiciones de la rejilla. Pasa la matriz a z y usa la función add_surface. En este ejemplo utilizamos la matriz volcano, que contiene la topografía de un volcán.

plot_ly(z = ~volcano) |>
  add_surface()

Escala de color y curvas de nivel

Los colores de la superficie se pueden cambiar con el argumento colorscale, que admite el nombre de una paleta, como "Viridis", "Blues" o "Earth". Además, puedes proyectar las curvas de nivel de la superficie sobre la base del gráfico con contours.

plot_ly(z = ~volcano) |>
  add_surface(colorscale = "Viridis",
              contours = list(z = list(show = TRUE,
                                       usecolormap = TRUE,
                                       project = list(z = TRUE))))

Si necesitas una representación en 2D de los mismos datos puedes crear un gráfico de contorno o un mapa de calor. Consulta la guía de gráficos interactivos con plotly para aprender a personalizar el texto emergente, la leyenda y la barra de herramientas.

MASTER - STATISTICS DOT COM

Master Statistics

Aprende estadística desde lo básico hasta técnicas avanzadas, explicado con claridad

Ir al sitio
R PACKAGES IO

R Packages

Explora y descubre miles de paquetes, funciones y datasets de R

Ir al sitio

También te puede interesar