Creating a Movie from a Series of Plots in R [closed]
Here is one method I found using R help:
To create the individual image frames:
jpeg("/tmp/foo%02d.jpg")for (i in 1:5) { my.plot(i)}dev.off()
To make the movie, first install ImageMagick.Then call the following function (which calls "convert", part of ImageMagick I suppose):
make.mov <- function(){ unlink("plot.mpg") system("convert -delay 0.5 plot*.jpg plot.mpg")}
Or try using the ffmpeg function as described in this article (I've found this gives cleaner results):ffmpeg -r 25 -qscale 2 -i tmp/foo%02d.jpg output.mp4
May require a bit of tinkering, but this seemed pretty simple once everything was installed.
Of course, anywhere you see "jpg" or "jpeg", you can substitute GIF or PNG to suit your fancy.
I think you can do this also with the write.gif function in the caTools library. You'd have to get your graph into a multi-frame image first. I'm not sure how to do that. Anyone? Bueller?
The classic example of an animated GIF is this code which I didn't write but I did blog about some time ago:
library(fields) # for tim.colorslibrary(caTools) # for write.gifm = 400 # grid sizeC = complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ), imag=rep(seq(-1.2,1.2, length.out=m), m ) )C = matrix(C,m,m)Z = 0X = array(0, c(m,m,20))for (k in 1:20) {Z = Z^2+CX[,,k] = exp(-abs(Z))}image(X[,,k], col=tim.colors(256)) # show final image in Rwrite.gif(X, 'Mandelbrot.gif', col=tim.colors(256), delay=100)
Code credit goes to Jarek Tuszynski, PhD.