library(tidyverse)
library(gganimate)
library(rgl)
library(gapminder)
library(ggplot2)
library(animation)
library(gt)
Con la función transition_reveal los datos aparece gradualmente en el gráfico
Usamos otro conjunto de datos del archivo airquality que se encuentra en el paquete datasets. Primero creamos un gráfico estático (sin animación), el día del mes (day), la temperatura del día (Temp) y una linea para cada mes (mayo a septiembre) con la función group.
Comenzamos con cambiar el nombre de algunas variables al castellano
names(airquality) # Nombres originales
## [1] "Ozone" "Solar.R" "Viento" "Temp" "Mes" "Día"
names(airquality)[3] <- 'Viento'
names(airquality)[5] <- 'Mes'
names(airquality)[6] <- 'Día'
#names(airquality) # Nombres en castellano
calidad_aire=airquality
head(calidad_aire)
## Ozone Solar.R Viento Temp Mes Día
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
t <- ggplot(
calidad_aire,
aes(Día, Temp, group = Mes, color = factor( Mes))) +
geom_line() +
scale_color_viridis_d() +
labs(x = "Día del Mes", y = "Temperatura") +
theme(legend.position = "top")
t
Ahora animamos el gráfico en el eje de x con la variable de Día, añadiendo transition_reveal(Día)
t + transition_reveal( Día)
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
Se puede añadir un punto al principio de las lineas
cambio_m=t +
geom_point() +
transition_reveal( Día)
animate(cambio_m, height = 800, width = 800)
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
# anim_save("cambio_m.gif")
Los puntos se pueden quedar en el gráfico añadiendo (group = seq_along(Día).
t + geom_point(aes(group = seq_along( Día ))) +
transition_reveal( Día)
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?