17

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

4

5 回答 5

16

您可以使用

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问题 :) 很高兴看到一些格子来改变。

于 2010-09-14T20:07:34.450 回答
12

感谢各位的回答!它还帮助我找到有关该主题的更多信息。我了解到我可以使用以下方法控制灰度等级:

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

这给了我从黑色 (0) 到白色 (1) 的 100 种灰色阴影。

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

于 2010-09-14T20:57:27.850 回答
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] 指定格子黑白主题以获取更多信息。

于 2010-09-14T20:07:07.413 回答
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 论点 - 这非常好,因为它似乎在本地更改了颜色主题。

于 2010-09-15T10:55:11.590 回答
2

唯一对我有用的是:

>trellis.par.set(canonical.theme(color = FALSE)) 
于 2012-07-27T19:20:31.117 回答