当前位置:  开发笔记 > 编程语言 > 正文

使用levelplot更改栅格面板标题

如何解决《使用levelplot更改栅格面板标题》经验,为你挑选了1个好方法。

我正在使用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)

在此输入图像描述


@Sam我写了`names`,但严格来说应该是`names.attr`.在帮助页面中:*字符,每个面板中使用的名称.如果缺少其默认值是名称(x)的结果(在对要显示的图层进行子集化之后).*
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有