Vamos a crear un gráfico de burbujas interactivo con el paquete plotly, usando el dataset gapminder. Este gráfico mostrará:
gdpPercap -El PIB per cápita (eje X)
lifeExp -La esperanza de vida (eje Y)
pop - El tamaño de la población (tamaño del punto)
country - El continente (color)
Cargar paquetes en R
Code
library(tidyverse) # Manipulacion, limpieza y visualizacion de datoslibrary(gapminder) # Base de datoslibrary(DT) # Tablas bonitaslibrary(plotly) # Graficas interactivaslibrary(viridis) # Paleta de coloreslibrary(hrbrthemes) # Otros temas
3.1 Selección de datos
En este ejemplo vamos a visualizar la esperanza de vida (lifeExp), la población total del país (pop) y el producto interno bruto per cápita (gdpPercap) por cada pais, empleando la información general del conjunto de datos gapminder proveniente del paquete gapminder en R.
Code
data <- gapminder %>%filter(year=="2007") %>%# seleccionar solo 2007 dplyr::select(-year) # Eliminar la columna de year
3.1.1 ¿Qué es un widget?
Un widget es un componente interactivo de una interfaz gráfica. Es una pieza visual que permite a los usuarios interactuar con una aplicación o presentación.
En el contexto de R y especialmente de Plotly, Shiny, o R Markdown/Quarto, un widget es un elemento que se puede:
mover, hacer clic, deslizar, seleccionar, o interactuar de alguna forma.
Un widget es cualquier elemento interactivo en una aplicación o presentación.
Los gráficos interactivos con Plotly son widgets.
3.4 Visualización gráfica 3
3.4.1 Paso 1: Crear el gráfico con plot_ly()
Code
plot3 <- gapminder %>%plot_ly(x =~gdpPercap, # Eje X: PIB per cápitay =~lifeExp, # Eje Y: Esperanza de vidasize =~pop, # Tamaño de burbuja: Poblacióncolor =~continent, # Color: Continenteframe =~year, # Fotograma para animación: Añotext =~country, # Texto al pasar el cursor: Nombre del paíshoverinfo ="text", # Muestra solo el texto personalizadotype ='scatter', # Tipo de gráfico: Dispersiónmode ='markers'# Solo marcadores (sin líneas) )
Esto genera un gráfico de burbujas por año, con diferentes colores según el continente y tamaños según la población.
3.4.2 Paso 2: Ajustar el eje X a escala logarítmica
Como los valores del PIB per cápita varían mucho entre países, es mejor mostrar el eje X en escala logarítmica para facilitar la comparación:
Code
plot3_interactive <- plot3 %>%layout(xaxis =list(type ="log"# Escala logarítmica en el eje X ))# Visualizar el gráficoplot3_interactive
Esto muestra un gráfico animado, donde puedes:
Usar los botones para avanzar año por año.
Hacer hover sobre un punto para ver el país.
Hacer zoom o mover el gráfico con el mouse.
3.5 📝 Recomendaciones:
¿Quieres…?
Usa…
Convertir un gráfico ggplot2 a interactivo rápidamente
ggplotly()
Crear un gráfico totalmente interactivo desde cero
plot_ly()
Hacer animaciones (por año, tiempo, etc.)
plot_ly()
Personalizar profundamente la interacción del gráfico