这是一个静态图的可复制示例,我想对其进行动画处理(我想显示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()
我想看到的是,绘制点时它们是可见的,然后一点点褪色(即alpha从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)