Измените заголовки растровых панелей, используя levelplot
Я использую RasterVis и levelplot, чтобы создать решетчатый график некоторых растров. Я в настоящее время в порядке для большинства вещей, но я хотел бы изменить заголовок для каждой панели с имени файла на выбранную строку (имя файла является сложным и длинным, я хочу использовать только год, например "2004").
Глядя на страницу levelplot, вы увидите, что levelplot ищет некоторые настройки в соответствии с аргументом 'useRaster', либо идет к panel.levelplot или 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
1 ответ
Решение
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)