如何使gganimate中的点出现而不过渡

时间:2019-06-02 01:26:29

标签: r ggplot2 plot gganimate

我正在使用gganimate。说我有这个MWE:

library(ggplot2)
library(gganimate)
ggplot(airquality, aes(Day, Temp)) +
    geom_point(color = 'red', size = 1) +
    transition_time(Month) +
    shadow_mark(colour = 'black', size = 0.75)

我有一个问题:我怎样才能使新的要点出现而不是从旧的要点过渡?换句话说,我只希望新点出现在它们的最终位置并且没有过渡。我应该如何修改代码?

1 个答案:

答案 0 :(得分:1)

转换最终与每个数据点的group相关。在您的代码中,第1天的所有数据点都共享一个组,因此它们从旧的开始出现。

将分数赋予自己的组(例如,使用group = interaction(Month, Day)),它应该起作用。

a <- ggplot(airquality, aes(Day, Temp, 
                            group = interaction(Month, Day))) +
  geom_point(color = 'red', size = 1) +
  transition_time(Month) +
  shadow_mark(colour = 'black', size = 0.75) +
  enter_fade()  # I liked the look of this, but fine to leave out
animate(a, nframes = 100)

enter image description here