是否可以在gganimate循环之间添加暂停?我知道我们可以用interval
设置帧之间的间隔,但有没有办法在循环回到第一帧之前暂停最后一帧?
将最终帧的多个副本插入数据的最佳方法是什么?
答案 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更改为更大的数字才能看到暂停。