CWYAlpha

Just another WordPress.com site

Thought this was cool: 尝试用animation包来玩GIF动画

leave a comment »


谢益辉创建的这个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》一书中找到。我只不过修改了一下颜色并生成了动画。最后的代码可以看这里

最多好玩的动画可以从作者的官方网站找到。

from 数据科学与R语言: http://xccds1977.blogspot.com/2012/05/animationgif.html

Written by cwyalpha

五月 19, 2012 在 6:53 上午

发表在 Uncategorized

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: