在gganimate循环之间暂停

时间:2017-12-06 19:14:20

标签: r ggplot2 visualization gganimate

是否可以在gganimate循环之间添加暂停?我知道我们可以用interval设置帧之间的间隔,但有没有办法在循环回到第一帧之前暂停最后一帧?

将最终帧的多个副本插入数据的最佳方法是什么?

2 个答案:

答案 0 :(得分:7)

在最新版本的 gganimate 中,def createDic(num_list): num_dic = {} num_occurs = 0 for i in num_list: if num_list[i] not in num_dic.values(): for j in num_list: if num_list.index(i) == num_list.index(j): num_occurs += 1 num_dic[num_occurs].append(num_list[i]) num_occurs = 0 return num_dic 函数具有animate()选项。所以你可以简单地做

end_pause

例如在重新循环之前先暂停30帧。

答案 1 :(得分:0)

另一篇文章中提供了一个可行的解决方案:

Any way to pause at specific frames/time points with transition_reveal in gganimate?

airq_pause <- airq %>%
  mutate(show_time = case_when(Day %in% c(10,20,31) ~ 10,
                               TRUE                 ~ 1)) %>%
  # uncount is a tidyr function which copies each line 'n' times
  uncount(show_time) %>%
  group_by(Month) %>%
  mutate(reveal_time = row_number()) %>%
  ungroup()

只需编辑以下代码行:

mutate(show_time = case_when(Day %in% c(10,20,31) ~ 10,
                                 TRUE             ~ 1),

类似于以下内容:

mutate(show_time = case_when(Day %in% max(Day) ~ 10,
                                 TRUE          ~ 1),

并相应地调整/删除group_by()调用。可能需要将〜10更改为更大的数字才能看到暂停。