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

¿Qué es la multicolinealidad y por qué es un problema?
General

¿Qué es la multicolinealidad y por qué es un problema?

Deseamos interpretar los modelos para comprender sus predicciones, sin embargo, a veces no recordamos que esta interpretación puede verse afectada por al incumplir los supuestos del modelo. La multicolinealidad es uno de estos casos, y p…

Leer más
Aprende Caret y simplifica la creación de modelos predictivos en Machine Learning
General

Aprende Caret y simplifica la creación de modelos predictivos en Machine Learning

Crea más de 200 modelos con la misma sintaxis y resuelve problemas de clasificación y regresión con Machine Learning ¿Por qué debemos utilizar la librería Caret en R? En el mundo de la ciencia de datos existen múltiples algoritmos para e…

Leer más
3 tendencias en inteligencia artificial y aprendizaje automático para 2022
General

3 tendencias en inteligencia artificial y aprendizaje automático para 2022

En el 2021 las noticias sobre&nbsp; inteligencia artificial &nbsp;(IA) y aprendizaje automático ( Machine Learning o ML) se han disparado y se prevé que aceleren en el 2022. Muchos afirman que estas tecnologías serán las más disruptivas …

Leer más