gganimate
自从提出这个问题以来,已经发生了很大变化。在当前版本 (0.9.9.9999) 中,有一种方法可以将每个帧存储为自己的文件。
首先,我需要创建动画,它看起来与新版本的包有点不同:
p <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, color = continent)) +
geom_point() +
scale_x_log10() +
transition_states(year, 1, 5)
然后可以使用显示动画
animate(p)
渲染由所谓的渲染器负责。要将动画存储在单个动画 gif 中,您可以使用
animate(p, nframes = 24, renderer = gifski_renderer("gganim.gif"))
请注意,我已手动设置要创建的帧数。默认情况下,使用 100 帧,我在这里选择了一个较小的数字。有时选择正确的帧数可能有点棘手,如果您得到奇怪的结果,请尝试使用更多帧。
或者,您可以使用 afile_renderer()
将每个帧写入其自己的文件
animate(p, nframes = 24, device = "png",
renderer = file_renderer("~/gganim", prefix = "gganim_plot", overwrite = TRUE))
这会将名为gganim_plot0001.png
,gganim_plot0002.png
等的文件写入目录~/gganim
。如果需要不同的文件名或不同的文件类型prefix
,请修改值。device
(我将它们设置为默认值。)