R: как изменить цвет решетки (levelplot) темы? - PullRequest
15 голосов
/ 14 сентября 2010

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

Ответы [ 5 ]

15 голосов
/ 15 сентября 2010

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

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 :) Приятно видетьнемного решетка для разнообразия.

10 голосов
/ 15 сентября 2010

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

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

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

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

5 голосов
/ 15 сентября 2010

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

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

2 голосов
/ 27 июля 2012

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

>trellis.par.set(canonical.theme(color = FALSE)) 
2 голосов
/ 15 сентября 2010

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

...