### 1. How to setup a simple animation ###
## set some options first
oopt = ani.options(interval = 0.2, nmax = 10)
## use a loop to create images one by one
for (i in 1:ani.options("nmax")) {
plot(rnorm(30))
## pause for a while ('interval')
ani.pause()
}
## restore the options
ani.options(oopt)
### 2. Animations in HTML pages ###
saveHTML({
ani.options(interval = 0.05, nmax = 30)
par(mar = c(3, 3, 2, 0.5), mgp = c(2, 0.5, 0), tcl = -0.3,
cex.axis = 0.8, cex.lab = 0.8, cex.main = 1)
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow",
main = "Demonstration of Brownian Motion")
}, imgname = "bm_plot", title = "Demonstration of Brownian Motion",
description = c("Random walk on the 2D plane: for each point",
"(x, y), x = x + rnorm(1) and y = y + rnorm(1)."))
### 3. GIF animations ###
saveMovie({
ani.options(nmax = 30)
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow")
}, interval = 0.05, movie.name = "bm_demo.gif", ani.width = 600,
ani.height = 600)
### 4. Flash animations ###
saveSWF({
par(mar = c(3, 2.5, 1, 0.2), pch = 20, mgp = c(1.5, 0.5,
0))
buffon.needle(type = "S")
}, ani.dev = "pdf", ani.type = "pdf", swf.name = "buffon.swf",
interval = 0.1, nmax = 40, ani.height = 7, ani.width = 7)
### 5. PDF animations ###
saveLatex({
par(mar = c(3, 3, 1, 0.5), mgp = c(2, 0.5, 0), tcl = -0.3,
cex.axis = 0.8, cex.lab = 0.8, cex.main = 1)
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow",
main = "Brownian Motion")
}, img.name = "BM_plot", latex.filename = ifelse(interactive(),
"brownian_motion.tex", ""), interval = 0.1, nmax = 20)
Run the code above in your browser using DataLab