使用rmarkdown渲染时更改R ggplot gganimate的速度

时间:2018-02-28 06:48:20

标签: r ggplot2 r-markdown gganimate

我通过ggplot动画了一些gganimate个对象,我想改变动画的速度。

以下是github repo的可重现示例:https://github.com/dgrtwo/gganimate

library(gapminder)
library(ggplot2)
theme_set(theme_bw())

p <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, color = continent, frame = year)) +
    geom_point() +
    scale_x_log10()

library(gganimate)
gganimate(p)

此动画大约需要12秒才能完成循环。我怎么能让它在6秒内完成循环?

我尝试将time设置为不同的值,但无济于事,而且从帮助页面中看不清楚。

gganimate(p, time = 0.1)

更新

interval似乎通常有效,但我仍然不清楚如何在Rmarkdown报告中完成这项工作。例如,如果我将下面的代码放在名为test.R的文件中,然后运行rmarkdown::render('test.R'),我的动画将以默认速度运行,而不是以预期的增加速度运行。我如何在rmarkdown::render的背景下完成这项工作?我一直在尝试各种各样的事情:https://github.com/dgrtwo/gganimate/commit/3aa2064cdfff30feb2b00724ad757fd5a5a62621,但无济于事。

knitr::opts_chunk$set(message = FALSE, warning = FALSE, fig.show = 'animate')

library(gapminder)
library(ggplot2)
theme_set(theme_bw())

p <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, color = continent, frame = year)) +
    geom_point() +
    scale_x_log10()

library(gganimate)
capture.output(gganimate(p, interval = 0.2))

1 个答案:

答案 0 :(得分:1)

我们需要设置interval选项:

gganimate(p, interval = 0.2)

animation package手册,请参阅ani.options

  

interval 一个正数,用于设置动画的时间间隔(单位为秒);默认为1。