заполнить только нижние стеки в сложенном графике с помощью ggplot2 - PullRequest
0 голосов
/ 27 июня 2019
dat <- data.frame(
  g=rep(c("A","B"),each=4), 
  val=c(109,260,178,203,89,180,40,130), 
  var=rep(c("m","t"), each=2,times=2), 
  dim=rep(c("x","y"),times=4)
) 

ggplot(aes(y=val, x=g, fill=dim), data=dat) + 
  geom_bar(stat="identity") + 
  facet_wrap(~var)

Есть ли способ сказать ggplot2 не заполнять верхние (красные) стеки?В идеале я бы хотел показать только красный контур верхних стеков и заполнить нижние стеки.

1 Ответ

4 голосов
/ 27 июня 2019

Используйте ручные весы и установите заполнение на NA:

ggplot(dat, aes(g, val, fill = dim, color = dim)) + 
  geom_col(size = 2) + 
  facet_wrap(~var) +
  scale_color_manual(values = c('firebrick', 'navy')) +
  scale_fill_manual(values = c(NA, 'navy'))

enter image description here

...