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))