首页 > 解决方案 > levelplot动画R中的图像标签

问题描述

使用此处问题中的示例,如何将years每个图像用作标题?

示例

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,main=noquote(paste("",i)))
  plot(l)
 }
}, interval=0.2, movie.name="animation.gif")

该行将main=noquote(paste("",i))动画中的每个图像标记为1,2,3, etc..。但是,我想1919, 1920, 1921, etc..改用。for loop是否需要生成另一个1919, 1920, 1921, etc..

以下不起作用:

main=paste(1919,i)
main=paste(1919:1923,i)

我的实际光栅砖有 100 层

关于使用年份作为动画中每张图片的标题有什么建议吗?

标签: ranimationrasterlevelplot

解决方案


经过一番思考,这对我有用:

main=paste(" ", 1918+i, sep='')

假设我的数据从 开始1919,每幅图像中都会添加步长为 1 的连续年份。


推荐阅读