谢益辉创建的这个
animation包实在是很好玩,上面这个GIF动画就是用lattic包绘制的静态图形构建的。要在R里面玩动画除了要安装animation包之外,还需要安装配套软件。例如安装ImageMagick,以方便生成GIF文件。动画生成原理很简单,基本上就是在saveGIF里面嵌套一些循环绘图的代码,但要注意的是:对于lattice或是ggplot2绘图命令,最后一定要使用print,不然出不了图。另外要在设置参数里面写清楚ImageMagick的安装路径。
library(animation)
library(lattice)
saveGIF({
ani.options(interval=.1,
convert = shQuote('d:/program files/ImageMagick-6.7.6-Q16/convert.exe'))
for (i in seq(0,360,by=5)) {
p <- wireframe(volcano, shade = TRUE,
aspect = c(61/87, 0.4),
light.source = c(10,0,10),
screen = list(z = i, x = -60))
print(p)
}
})
下面一张动画是模拟森林火灾。首先在森林中心点燃一棵树,然后周围的树会以一定的概率被影响到,最后烧过的树以灰色表示。挺好玩的模型。该模型的原始代码可以从《Introduction to Scientific Programming and Simulation Using R》一书中找到。我只不过修改了一下颜色并生成了动画。最后的代码可以
看这里。
最多好玩的动画可以从作者的
官方网站找到。
没有评论:
发表评论