我知道这个主题有很多内容,但经过广泛的研究,我无法找到我追求的东西。 我是R动画的新手,并且最近安装了动画包,在使用包含基本循环的代码后,我设法在Web浏览器上创建一个简单的动画点图:
n = 20
x = sort(rnorm(n))
y = rnorm(n)
par(bg = "white")
plot(x, y, type = "n")
ani.record(reset = TRUE)
for (i in 1:n) {
points(x[i], y[i], pch = 19, cex = 2)
ani.record() # record the current frame
}
oopts = ani.options(interval = 0.5)
ani.replay()
saveHTML(ani.replay(), img.name = "record_plot")
这会生成不同的文件夹(css,images和js)以及桌面上的Web浏览器快捷方式,重定向到可以播放此动画的网页。在任何其他桌面上删除这些文件夹将允许在任何地方播放相同的动画。问题:我使用R生成了不同的png文件,并在不同的时间段内在2轴上包含geom_point()图。我想用上面描述的相同技术实现相同的结果,在每个png文件的相应月份循环,类似于这里可以看到的http://www.ggplot2-exts.org/gganimate.html。有没有办法实现这个结果而无需安装任何其他软件?
答案 0 :(得分:0)
不确定。这是你想要的:
library(ggplot2)
library(gapminder)
library(animation)
years <- unique(gapminder$year)
saveHTML({
for(year in years){
dat <- gapminder[gapminder$year==year,]
gg <- ggplot(dat, aes(gdpPercap, lifeExp, size = pop, color = continent)) +
geom_point() +
scale_x_log10() +
ggtitle(year)
print(gg)
}
})