【发布时间】:2020-02-04 20:30:01
【问题描述】:
这是一个静态图的可重现示例,我想对其进行动画处理(我想展示 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)
【问题讨论】:
标签: r animation ggplot2 gganimate