7 ¿Y ahora qué?
A lo largo del libro hemos discutido cómo emplear el paquete ggplot2 para crear visualizaciones. Para este momento, debes estar convencido que este paquete es flexible y permite realizar visualizaciones impactantes y de gran calidad. Este paquete hace aún más versátil la base de R. Si unimos este paquete al de dplyr, tendremos unas herramientas que permiten optimizar el flujo de trabajo cuando empleamos datos para realizar visualizaciones.
En la comunidad R encontrarás numerosos paquetes para adicionar funcionalidades a ggplot, pero no quisiéramos terminar esta obra sin mostrarte dos paquetes que, con seguridad, te parecerán maravillosos.
El paquete plotly (Sievert, 2020) permite transformar visualizaciones realizadas en ggplot2 en visualizaciones interactivas33. Por ejemplo, trabajemos con la Figura 8.2. Esta era un gráfico de burbujas que tenía en el eje horizontal el PIB percápita, en el vertical la esperanza de vida al nacer, el tamaño de cada punto es la población y el color corresponde al continente. Recreemos ese gráfico y guardémoslo en un objeto.
# cargamos los paquetes
library(ggplot2)
library(dplyr)
library(gapminder)
# se guarda el gráfico en un objeto
g1 <- gapminder %>%
filter(year == 2007) %>%
ggplot(aes(x = gdpPercap, y = lifeExp,
size = pop, col = continent )) +
geom_point() +
labs( x = "PIB percápita ($US)",
y = "Esp. de vida",
size = "Población (tamaño)",
col = "Continente (color)") +
theme_minimal() +
theme(legend.position = "bottom")
Ahora podemos animar este gráfico empleando solo una línea de código. La función ggplotly() del paquete plotly (Sievert, 2020) solo requiere como argumento un objeto de clase ggplot. Es decir, la Figura 7.1 la podemos crear con la siguiente línea de código.
# instala el paquete si no o tienes
# install.packages("plotly")
# cargamos el paquete
library(plotly)
# convertimos a interactivo el gráfico
ggplotly(g1)
Este tipo de visualizaciones (ver Figura 7.1) permiten al usuario interactuar con los datos. Juega un rato con este gráfico. Se pueden apagar los continentes y hacer zoom. Pasa el cursor por encima de un punto para ver la información. La interacción solo funciona en la versión web del libro (http://www.icesi.edu.co/editorial/empezando-visualizar-2ed).
Otro paquete que puede llevar tus visualizaciones a otro nivel es gganimate (Pedersen & Robinson, 2020). Este paquete permite generar gráficos animados como el de la Figura 7.2. Esta gráfica no es interactiva como la Figura 7.1, pero sí permite ver la evolución en el tiempo de la misma relación entre la esperanza de vida como el PIB percápita. Aquí podemos ver cómo, por continente, han mejorado tanto la esperanza de vida como el PIB percápita. La animación solo funciona en la versión web del libro (http://www.icesi.edu.co/editorial/empezando-visualizar-2ed).
El código que produce la Figura 7.2 se presenta a continuación. No es tan complicado, pero debes seguirlo con cuidado. Nota que estamos empleando nuevas funciones de ggplot2 como facet_wrap() y scale_colour_manual(). No obstante, estas funciones son nuevas para ti, con lo aprendido hasta ahora ya puedes saber cuáles son las capas que modifican. Y recuerda que siempre está disponible la ayuda y la documentación para aprender más sobre las nuevas funciones.
# instalar paquete si no se tiene
# install.packages('gganimate')
# cargar paquetes
library(gganimate)
g.anidado <- ggplot(gapminder, aes(x = gdpPercap, y= lifeExp,
size = pop, colour = country)) +
# capa de geometría
geom_point(alpha = 0.7, show.legend = FALSE) +
# modificar capa de Escalas
scale_colour_manual(values = country_colors) +
scale_size(range = c(2, 12)) +
#modificar capa de Facets
facet_wrap(~continent) +
theme_minimal() +
labs(title = 'Año: {frame_time}',
x = 'PIB percápita',
y = 'Esperanza de vida (años)') +
# incluir elelmentos para la animación
# corresponden al paquete gganimate
transition_time(year) +
ease_aes('linear')
# ver la animación
g.anidado
Estas visualizaciones interactivas y animadas son ejemplo de lo versátil que es R para generar visualizaciones de tus datos. Esperamos que esta obra te motive a continuar tu camino de aprendizaje y unirte a la gran comunidad de R. En este universo de R, ¡la imaginación es el límite!
En los siguientes capítulos presentamos temas mas avanzados relacionados con las visualizaciones creadas con ggplot2. En el Capítulo 8 podrás aprender cómo personalizar las visualizaciones empleando la capa de Tema. Y si quieres seguir aprendiendo sobre geometrías más avanzadas para crear tus visualizaciones puedes ver el Capítulo 9.
Referencias
Puedes encontrar una breve introducción a la construcción de gráficos interactivos con el paquete plotly (Sievert, 2020) en el siguiente enlace: https://youtu.be/EWjxic2ce9g . ↩︎