отдельные цвета в сюжете - PullRequest
0 голосов
/ 09 мая 2011

У меня есть geom_tile график с разными цветами, и каждый из них представляет значение в данных.

Я хочу отделить каждый диапазон цветов на графике линией цвета, отличного от цветов графика.

e.g(-0.5<=0<0.5 colored red)
e.g(0<0.5<1 colored blue)

Можно ли это сделать в R?

мне нужно, чтобы эти диапазоны были разделены линией на geom_tile. Заранее спасибо.

1 Ответ

1 голос
/ 10 мая 2011

Используйте аргумент colour, чтобы изменить цвет границ.

Пример, адаптированный от одного на ?geom_tile.

pp <- function (n,r=4) {
      x <- seq(-r*pi, r*pi, len=n)
      df <- expand.grid(x=x, y=x)
      df$r <- sqrt(df$x^2 + df$y^2)
      df$z <- cos(df$r^2)*exp(-df$r/6)
      df
     }
p <- ggplot(pp(20), aes(x=x,y=y)) + 
  geom_tile(aes(fill = z), colour = "black")
p

Или вы имели в виду «Я хочу указать цвета заливки для разных групп плиток». Один из способов сделать это - преобразовать переменную заполнения в фактор и вызвать scale_fill_manual.

dfr <- pp(20)
dfr$discrete_z <- cut(dfr$z, c(-1, 0, 1)) # makes z a factor

p <- ggplot(dfr, aes(x=x,y=y)) + 
  geom_tile(aes(fill = discrete_z)) + 
  scale_fill_manual(
    values = c("red", "blue")
  )
p
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...