Ecco un esempio riproducibile di un grafico statico, che voglio animare (voglio mostrare come si comporta un campionatore 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()
Quello che mi piacerebbe vedere è che i punti sono visibili quando vengono disegnati e un po 'sbiaditi (cioè l'alfa passa da ad esempio 1 a 0,3) in seguito, mentre ci sarebbe una linea che mostra solo la storia recente (e idealmente svanisce mostrando il la storia più recente la meno sbiadita e più di qualche passo indietro scompare totalmente).
Quanto segue raggiunge più o meno ciò che desidero per i miei punti (quindi in un certo senso voglio solo aggiungere linee di dissolvenza a questo collegamento degli ultimi punti - i punti che si dissolvono più lentamente su alcuni fotogrammi sarebbero ancora più belli):
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
Ciò con cui sto lottando è come aggiungere due comportamenti diversi per due geomi, ad esempio punto e linea. Ad esempio, in basso i punti scompaiono (non li voglio) e le linee non si sbiadiscono (lo voglio).
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)