Creating a Movie from a Series of Plots in R


Question

Is there an easy way to create a "movie" by stitching together several plots, within R?

1
47
8/19/2009 6:27:14 AM

Accepted Answer

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.

40
2/19/2013 6:42:27 AM

Take a look at either the animation package created by Yihui Xie or the EBImage bioconductor package (?animate).


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon