R:如何改变格子(levelplot)颜色主题?

时间:2010-09-14 19:59:16

标签: r graphics colors lattice

我安装的默认主题是将值映射为粉色和青色。如何将其更改为例如灰度主题?

5 个答案:

答案 0 :(得分:15)

您可以使用

library(lattice)
lattice.options(default.theme = standard.theme(color = FALSE))

打开适合打印的黑白。我也玩过像

这样的东西
sb <- trellis.par.get("strip.background") 
sb[["col"]][1] <- "lightgray"
trellis.par.set("strip.background", sb) 

只会改变标题背景。

我认为人们只在这里问ggplot2个问题:)很高兴看到一些lattice进行更改。

答案 1 :(得分:10)

谢谢你的答案!它还帮助我找到有关该主题的更多信息。我了解到我可以使用例如以下方法控制灰度:

levelplot(my_var, col.regions = gray(0:100/100))

给出了100个从黑色(0)到白色(1)的灰色阴影。

我正在使用该功能绘制我已经预处理成双矩阵的灰度图像(照片)。我不知道它是否是最好的方法,但到目前为止它的工作原理并且我相信它给我提供了更多的图形选项,而不是EBImage和rimage库中的基本显示选项。我不知道如何改变调色板以匹配显示彩色图像,但我很高兴到目前为止我没有这样做......

答案 2 :(得分:5)

有很多方法可以完成您的请求。最简单的是:

trellis.device(color = FALSE)

另一个是

ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme 
ltheme$strip.background$col <- "transparent" ## change strip bg 
lattice.options(default.theme = ltheme) ## set as default 

有关详情,请参阅此邮件存档项:Re: [R] specify lattice black-and-white theme

答案 3 :(得分:2)

您可能还想考虑使用panel.levelplot.raster,因为它可以减少数字大小,正如我最近发现的那样。通常将此提示与更改格子设置相结合,以下是以下示例:

trellis.par.set(regions=list(col=topo.colors(100)))
levelplot(volcano, panel = panel.levelplot.raster)

levelplot(volcano, panel = panel.levelplot.raster,
          par.settings=list(regions=list(col=topo.colors(100))))

第二种方法具有欺骗性,因为格子设置实际上是全局更改的。我不知道col.regions论点 - 这很好看,因为它似乎在本地改变了颜色主题。

答案 4 :(得分:2)

唯一对我有用的是:

>trellis.par.set(canonical.theme(color = FALSE))