我正在使用RasterVis和levelplot绘制一些栅格的网格图。我目前对大多数事情都还可以,但是我想将每个面板的标题从文件名更改为选定的字符串(文件名是复杂的并且很长,我只想使用一年,例如'2004')。
查看levelplot page,这将表明levelplot根据参数'useRaster'寻找一些设置,或者转到panel.levelplot or panel.levelplot.raster,但是却在努力使用后面的这些功能。
非常感谢您的帮助,这里有一些示例代码;
require(rasterVis)
layers <- c(1:4)
s2 <- stack()
for (i in layers) {
r <- raster(nrows=100, ncols=100,ext)
r[] <- sample(seq(from = 1, to = 6, by = 1), size = 10000, replace = TRUE)
rasc <- ratify(r)
rat <- levels(rasc)[[1]]
rat$legend <- c("A","B","C","D","E","F")
levels(rasc) <- rat
s2 <- stack(s2, rasc)
}
levelplot(s2, col.regions=rev(terrain.colors(6)),main = "example")
在上面的示例中,我希望“layer.1.1”为“2004”,依此类推,直到2007年
最佳答案
require(rasterVis)
layers <- c(1:4)
s2 <- stack()
for (i in layers) {
r <- raster(nrows=100, ncols=100)
r[] <- sample(seq(from = 1, to = 6, by = 1), size = 10000, replace = TRUE)
rasc <- ratify(r)
rat <- levels(rasc)[[1]]
rat$legend <- c("A","B","C","D","E","F")
levels(rasc) <- rat
s2 <- stack(s2, rasc)
}
levelplot(s2, col.regions=rev(terrain.colors(6)),main = "example", names.attr=2004:2007)
p.strip <- list(cex=1.5, lines=1, col="blue, fontfamily='Serif')
levelplot(s2, col.regions=rev(terrain.colors(6)), main = "example",
names.attr=2004:2007, par.strip.text=p.strip)