Aqui está um exemplo reprodutível de um gráfico estático, que eu quero animar (quero mostrar como um amostrador MCMC se comporta).
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()
O que eu gostaria de ver é que os pontos são visíveis quando são desenhados e um pouco desbotados (ou seja, alfa passa de 1 para 0,3) depois, enquanto haveria uma linha que mostra apenas o histórico recente (e, idealmente, desbota mostrando o história mais recente, menos desbotada e mais do que alguns passos para trás, desaparecendo totalmente).
O seguinte alcança mais ou menos o que eu quero para meus pontos (então, em certo sentido, eu só quero adicionar linhas desbotadas para conectar os últimos pontos - pontos desbotando mais lentamente em alguns quadros seriam ainda mais agradáveis):
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
O que eu estou lutando é como adicionar dois comportamentos diferentes para dois geoms, por exemplo, ponto e linha. Por exemplo, abaixo os pontos desaparecem (eu não quero que eles) e as linhas não desaparecem (eu quero que eles).
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)