General

¿Cómo hacer que tus gráficos cobren vida con solo una línea de código?

¡Podemos crear gráficos web interactivos en R con ggplotly()! Crea gráficos interactivos ggplot2 listos para publicar

Publicado18 de mayo de 2023
Lectura5 min
¿Cómo hacer que tus gráficos cobren vida con solo una línea de código?

¡Podemos crear gráficos web interactivos en R con ggplotly()!Crea gráficos interactivos ggplot2 listos para publicar.

¿Qué nos aportan los gráficos interactivos?

Imagina que quieres visualizar el desplazamiento del motor ( displ) frente a las millas por galón ( hwy) usando el conjunto de datos mpg, podrías preguntarte: "¿cuáles son estos autos con un valor inusualmente alto de hwy dado su displ?". En lugar de intentar escribir código para consultar esas observaciones, sería más fácil e intuitivo dibujar un contorno alrededor de los puntos para consultar los datos detrás de ellos. ¿No?

Pues esto es lo que puedes hacer con gráficos interactivos como el que se enseña a continuación. La interactividad puede aumentar la exploración al permitirnos realizar preguntas de seguimiento.

Simplemente ingresa el gráfico ggplot2 en la función ggplotly() y se abrirá en el visor Viewer de RStudio. ¡Puedes consultar los valores de los puntos y mucho más!

**library**(plotly) p<- ggplot(mpg, aes(x = displ, y = hwy, color = class)) + geom_point() ggplotly(p)

Imagen

Los gráficos de plotly son interactivos. Haz clic en las entradas de la leyenda para alternar los gráficos, haz clic y arrastra el gráfico para hacer zoom, haz doble clic para escalar automáticamente, presiona Mayús y arrastra para desplazarte.

Imagen

Opciones de configuración para gráficos integrados de Chart Studio

¡Pero hay más! Puedes vincular una tabla con un diagrama de dispersión de forma tal que puedes consultar más información sobre lospuntos de interés (¡como variables que no estén en el gráfico!).

m <- **highlight_key**(mpg) p <- **ggplotaesgeom_point**(m, (displ, hwy)) + () gg <- **highlightggplotly**((p), "plotly_selected") crosstalk::**bscolsdatatable**(gg, DT::(m))

Imagen

https://vimeo.com/324366759?embedded=true&source=vimeo_logo&owner=29107273

Al seleccionar con lazo una región de puntos inusuales, se visualiza la tabla de esos datos. Puedes jugar con los datos aquí.

Puedes compartir gráficos interactivos con tus colaboradores para mejorar la conversación: tus colegas pueden señalar cosas que quizás aún no hayas considerado y, en algunos casos, pueden obtener respuestas inmediatas de los propios gráficos.

  • El gráfico basado en la web se puede compartir fácilmente con los colaboradores por correo electrónico o incorporarse dentro de un informe o sitio web automatizado más grande.
  • Estos gráficos interactivos se basan en el marco de htmlwidgetsde R  Markdown o Quarto, dentro de aplicaciones Shiny RStudio o Jupiter. , por lo que funcionan sin problemas dentro de documentos

En definitiva, puedes hacer gráficos interactivos basados en web para el análisis de datos a través de plotly de R, sin asumir ninguna experiencia previa con tecnologías web.

Plotly es un paquete de R para crear gráficos interactivos basados en la web a través de la biblioteca de gráficos de JavaScript de plotly, plotly.js.

El paquete plotly R serializa figuras ggplot2 en el gráfico universal JSON de Plotly . plotly::ggplotly rastreará la figura ggplot2, extraerá y traducirá todos los atributos de la figura ggplot2 a JSON (los colores, los ejes, el tipo de gráfico, etc.) y dibujará el gráfico con plotly.js.

Instalación

¡Puedes instalar plotly desde el CRAN!

install.packages("plotly")

O instala la última versión de desarrollo (en GitHub) a través de devtools:

devtools::install_github("ropensci/plotly")

Los usuarios de RStudio deben descargar la última versión de RStudio para compatibilidad con htmlwidgets.

¿Quieres más? API de animación

Siempre que se indiques una variable para el argumento frame, se produce una animación con botones de reproducción/pausa y un componente deslizante para controlar la animación. También admite un argumento/estética ids para garantizar transiciones fluidas entre objetos con la misma identificación.

El siguiente gráfico recrea la famosa animación de gapminder de la evolución de la relación entre el PIB per cápita y la esperanza de vida a lo largo del tiempo (Bryan 2015) . Los datos se registran anualmente, por lo que el año se asigna a frame, y cada punto del gráfico de dispersión representa un país, por lo que el país se asigna a ids, lo que garantiza una transición fluida de un año a otro para un país determinado.

**data**(gapminder, package = "gapminder") gg <- **ggplotaes**(gapminder, (gdpPercap, lifeExp, color = continent)) +   **geom_pointaes**((size = pop, frame = year, ids = country)) +   **scale_x_log10**() **ggplotly**(gg)

Imagen

De este modo hemos creado la animación de la evolución de la relación entre el PIB per cápita y la esperanza de vida para numerosos países. Puedes consultar el gráfico aquí.

Puedes consultar más información en este libro gratuito: https://plotly-r.com/overview.html

Si te gustó este post y quieres disfrutar de más consejos para mejorar tus proyectos de datos, inscríbete a nuestro Máster en Ciencia de Datos con R.

Imagen

Únete a nosotros para formarte con las últimas herramientas y las mejores técnicas en Ciencia de Datos. Aprende dónde y cuándo quieras y aprovecha las tutorías ilimitadas con nuestros expertos para sacarle jugo a tus datos.

¡Te esperamos!

Twitter | Linkedin | Blog | Youtube

Sigue leyendo

Artículos relacionados

Tablas de frecuencia con la función tabyl()
General

Tablas de frecuencia con la función tabyl()

¿Quieres crear tablas de frecuencia en R de forma rápida, clara y personalizable? La función tabyl() de la librería janitor te permite hacerlo con mucha más sencillez que otras alternativas como table() o group_by() + summarise() de dplyr. Además, se integra perfectamente con kable() para una presentación limpia en R Markdown o Quarto. En este artículo te mostramos cómo usar tabyl() para generar tablas de una, dos y hasta tres vías, y cómo enriquecerlas con porcentajes, totales y más gracias a funciones como adorn_percentages() o adorn_totals(). 👉 Descubre cómo convertir datos complejos en tablas fáciles de interpretar.

Leer más
Composiciones de gráficos con la librería patchwork en R
General

Composiciones de gráficos con la librería patchwork en R

Descubre cómo combinar gráficos en R con la librería patchwork Cuando trabajamos con gráficos en R, es común querer combinar varios en una misma visualización. Si bien ggplot2 nos ofrece opciones como facet_wrap() y facet_grid(), estas funcionan solo con gráficos del mismo tipo. Pero, ¿qué pasa si queremos combinar un diagrama de dispersión con un boxplot o un gráfico de barras? Aquí es donde entra en juego patchwork, una librería que permite unir gráficos de manera flexible y sencilla mediante operadores intuitivos. En este artículo, te mostramos cómo utilizar patchwork para crear composiciones gráficas, explicando sus principales operadores con ejemplos prácticos. ¡Sigue leyendo y aprende a mejorar la presentación de tus datos en R! 🚀

Leer más
R Cheats Sheet
General

R Cheats Sheet

Para ser un verdadero Científico de Datos, debes desarrollar la habilidad de resolver problemas por ti mismo, aplicando conocimientos técnicos, curiosidad y perseverancia en el mundo de los datos. Este post explora 3 aspectos clave para alcanzar ese objetivo: 1) aprende a interpretar los errores, mensajes y advertencias de R, 2) conoce dónde y cómo pedir ayuda y 3) aprende a leer la ayuda en línea para resolver tus problemas.

Leer más