Использовать animate() с сериями графиков уровней в растре R
У меня есть временной ряд из 25 растровых покровов в год. Поскольку это категориальные данные, я использую levelplot(inputRaster)
(часть библиотеки rasterVis) для построения одного растра. Тем не менее, я хотел бы последовательно построить годовые растры, так как animate
Функция растровой библиотеки делает. Когда я использую
rasStack <- stack(listOfRasters)
animate(rasStack)
Результат не имеет категорической легенды. Итак, вкратце: как я могу объединить функции levelplot
а также animate
?
1 ответ
Функция 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")