R: как изменить цветную тему решетки (levelplot)?

Тема по умолчанию для моей установки - это то, что сопоставляет значения розовым и голубым. Как изменить его, например, на тему серого масштаба?

Ответы

Ответ 1

Вы можете использовать

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 для изменения.

Ответ 2

Спасибо за ответы, ребята! Это также помогло мне найти дополнительную информацию по этому вопросу. Я узнал, что могу контролировать масштабы серого, используя, например, следующее:

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

что дает мне 100 оттенков серого от черного (0) до белого (1).

Я использую функцию для построения изображений серого масштаба (фотографии), которые я предварительно обработал в двойной матрице. Я не знаю, подходит ли это наилучший подход, но пока это работает, и я считаю, что он дает мне больше возможностей для графического отображения, чем основные параметры отображения в библиотеках EBImage и rimage. Я не знаю, как изменить палитру в соответствии с отображением цветных изображений, но я рад, что мне не нужно было этого делать до сих пор...

Ответ 3

Существует много способов выполнить ваш запрос. Самый простой способ:

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] укажите черно-белую тему решетки для получения дополнительной информации.

Ответ 4

Вы также можете рассмотреть возможность использования 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, хотя - это довольно приятно, поскольку, похоже, локальная цветовая тема.

Ответ 5

Единственное, что сработало для меня:

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