Aquí hay un ejemplo reproducible de una trama estática, que quiero animar (quiero mostrar cómo se comporta un muestreador MCMC).
library(tidyverse)
library(gganimate)
set.seed(1234)
plot_data <- tibble(x=cumsum(rnorm(100)),
y=cumsum(rnorm(100)),
time=1:length(x))
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() + geom_line()
Lo que me gustaría ver es que los puntos sean visibles cuando se dibujan y se desvanecen un poco (es decir, el alfa va, por ejemplo, de 1 a 0.3) después, mientras que habría una línea que solo muestra el historial reciente (e idealmente se desvanece mostrando el la historia más reciente, el menos desvanecido y más de unos pocos pasos atrás desapareciendo por completo).
Lo siguiente logra más o menos lo que quiero para mis puntos (por lo que, en cierto sentido, solo quiero agregar líneas de desvanecimiento para conectar los últimos puntos; los puntos que se desvanecen más lentamente en algunos cuadros serían aún mejores):
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
Con lo que estoy luchando es cómo agregar dos comportamientos diferentes para dos geoms, por ejemplo, punto y línea. Por ejemplo, en la parte inferior los puntos desaparecen (no quiero que lo hagan) y las líneas no se desvanecen (quiero que lo hagan).
p <- ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
p + geom_line() +
transition_reveal(along = time) +
shadow_mark(past = T, future=F, alpha=0.3)