library(sp) ; library(rgdal) MAP <- readOGR("./Data", "GrMaille", verbose= FALSE) CRD <- data.frame(MAP, coordinates(MAP)) F2C <- readOGR("./Data", "F2C" , verbose= FALSE) FD.CRT <- list("sp.polygons", F2C, lwd= 10) LinApprox <- function(pdat, nc= 2: 52){ prd <- matrix(0, ncol= length(nc)) for (i in unique(pdat$MAILLE)){ yop <- approx(pdat$time[pdat$MAILLE== i], pdat$value[pdat$MAILLE== i], n= length(nc))$y prd <- rbind(prd, yop) } DAT <<- data.frame(unique(pdat$MAILLE), prd[-1, ], row.names= NULL) names(DAT) <<- c("MAILLE", paste("N", 2003: 2053, sep= "")) DAT[, nc] <<- (DAT[, nc]- DAT[, 2])* 100 } library(RColorBrewer) ; library(classInt) ; library(animation) AnimHTML <- function(SPDF, ttle, brks, pal, t1, t2, dir, name){ IC <- classIntervals(-100: 100, n= length(brks)+ 1, style= "fixed", fixedBreaks= brks) CR <- attr(findColours(IC, brewer.pal(5, pal)), "palette") saveHTML({ oopt <- ani.options(interval= 0.15, nmax= 100, title= ttle) opar <- par(mar= c(3, 3, 1, 0.5), mgp= c(2, .5, 0), tcl= -0.3, cex.axis= 1.5, cex.lab= 1.5, cex.main= 2) for(i in 2: 52){ dev.hold() mp <- spplot(SPDF[, i], cuts= IC$brks, col.regions= CR, cex= 1, pch= 15, colorkey= T, sp.layout= FD.CRT, main= paste(t1, substr(names(SPDF)[ i], 2, 5), t2, sep= ""), par.settings= list(panel.background= list(col="grey"))) mp$legend$right$args$key$at <- IC$brks ; print(mp) ani.pause() } }, autoplay= FALSE, loop= FALSE, verbose= FALSE, outdir = dir, htmlfile = name, autobrowse= FALSE, single.opts= "'controls': ['first', 'previous', 'play', 'next', 'last', 'loop', 'speed'], 'delayMin': 0") }