在R gganimate中制作动画时,如何保留先前的数据层?

时间:2018-09-09 08:31:59

标签: r animation ggplot2 gif gganimate

我正在使用ggplot和gganimate制作动画。 在gganimate的先前版本中,有一个“累计”选项,似乎新版本不支持此选项。

代码如下:

library(ggplot2)
library(gganimate)

x = data.frame(y = c(2000, 2001), x=c(1,2), z=c(3,4))
ggplot(x, aes(x,z))+geom_point() + transition_time(y)

它可以工作,但我想将第一个数据点保留在散点图上。

我试图转换数据,但这无济于事:

x1 = data.frame(y = c(2000, 2001, 2001), x=c(1,2,1), z=c(3,4,3))
ggplot(x1, aes(x,z))+geom_point() + transition_time(y)

1 个答案:

答案 0 :(得分:1)

shadow_mark()是否达到您想要的行为?

x = data.frame(y = c(2000, 2001, 2002), x=c(1,2,3), z=c(3,4,5))

p <- ggplot(x, aes(x, z)) +
  geom_point() +
  transition_time(y) +
  shadow_mark()

animate(p)

enter image description here

它没有捕获“补间”,但确实在data中的位置组合上留下了一点。