在R栅格中使用带有一系列水平图的animate()

时间:2017-12-07 15:23:48

标签: r gis r-raster rastervis

我有25个年度土地覆盖栅格的时间序列。由于这是分类数据,我使用levelplot(inputRaster)(rasterVis库的一部分)绘制单个栅格。但是,我想按顺序绘制年度栅格,就像栅格库的animate函数一样。当我使用

rasStack <- stack(listOfRasters) animate(rasStack)

结果没有分类图例。 简而言之:我如何结合levelplotanimate

的功能

1 个答案:

答案 0 :(得分:3)

函数animate仅接受栅格对象作为输入。您可以尝试saveGIF为水平图设置动画:

library(raster)
library(rasterVis)
library(animation)
library(classInt)

r <- raster(ncol=40, nrow=20)
r[] <- rnorm(n=ncell(r))
s <- stack(x=c(r, r*r, r*r*r, r*r*r*r))

classes <- classIntervals(values(r), n=5, style="fisher", precision = 3)
brks <- classes$brks
brks <- round(brks, 2)

saveGIF({
  for(i in c(1:nlayers(s))){
    l <- levelplot(s[[i]], colorkey=list(at=brks, labels=c(as.character(brks))), margin=FALSE)
    plot(l)
  }
}, interval=0.2, movie.name="animation.gif")

enter image description here