Вот воспроизводимый пример статического графика, который я хочу анимировать (я хочу показать, как ведет себя сэмплер 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()
То, что я хотел бы видеть, это то, что точки видны, когда они нарисованы и немного потускнели (т.е. альфа переходит, например, от 1 до 0,3) после этого, тогда как была бы линия, которая показывает только недавнюю историю (и в идеале исчезает, показывая Самая недавняя история наименее поблекла и более чем на несколько шагов назад полностью исчезла).
Следующее дает более или менее то, что я хочу для своих точек (поэтому, в некотором смысле, я просто хочу добавить линии затухания к этому соединению последних нескольких точек - точки, которые затухают медленнее в некоторых кадрах, будут еще лучше):
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
Я борюсь с тем, как добавить два разных поведения для двух геомов, например, точки и линии. Например, в приведенных ниже точках исчезают (я не хочу их) и линии не исчезают (я хочу их).
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)