For LaTeX, you need to create every frame as a separate graphics file. Here is an example. First the R code:

 library(demography) nyears <- length(fr.mort$year) for(i in 1:nyears) {     pdf(paste("frmale",i,".pdf",sep=""),height=4,width=6.5)     x <- fr.mort     if(i<nyears)         x$rate$male[,(i+1):nyears] <- NA     plot(x,series="male",ylim=c(-9.5,1.5),         main=paste("French: male mortality (",fr.mort$year[1]-1+i,")",sep=""))     if(i>1)         x$rate$male[,1:(i-1)] <- NA     lines(x,series='male',lwd=2,col=1)     dev.off() }

This creates a series of pdf files in the figs directory, named frmale1.pdf, …, frmale191.pdf.  In the LaTeX file, you need to load the animate package. Then the following command will do the magic:

 \centerline{\animategraphics[controls,buttonsize=0.3cm,width=12.5cm]{6}{"frmale"}{1}{191}}

This is how the graph on slide 2 of this presentation was produced.

For web usage, it is better to produce an animated gif version in R:

 library(animation) library(demography) nyears <- length(fr.mort$year) makeplot <- function(){ for(i in 1:nyears) {     x <- fr.mort     if(i<nyears)         x$rate$male[,(i+1):nyears] <- NA     plot(x,series="male",ylim=c(-9.5,1.5),         main=paste("French: male mortality (",fr.mort$year[1]-1+i,")",sep=""))     if(i>1)         x$rate$male[,1:(i-1)] <- NA     lines(x,series='male',lwd=2,col=1) } } oopt = ani.options(interval = 0, nmax = nyears) saveMovie(makeplot(),interval = 0.1, width = 580, height = 400) ani.options(oopt)

Click the graph below for the animated version.

For an explanation of the colours, see my rainbow plot paper.

The animation package for R also allows graphics to be saved in other formats. SeeAniWiki for some examples of animations.