Заполнение сложенной/уклоненной полосы разными цветами

Я пытаюсь построить диаграмму, сочетающую накопление и уклонение, чтобы сравнить две бизнес-линии за несколько месяцев по двум разным KPI (VOL и NV). У меня было бы что-то вроде этого: (https://imgur.com/a/IambH09)

Я бы использовал 4 разных цвета, но даже используя

scale_fill_manual

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

Спасибо

Бруно

это результат, с которым я застрял: https://imgur.com/a/5RJMMiN

df=data.frame(
  SOC=rep(c("ENERGIA","ENERGIE"),each=4),
  MESE_RIF=rep(c("2019_01","2019_02")),
  CHURN_TYPE=rep(c("VOL","NV"),each=2),
  CHURN_RATE=rep(c(1.35,1.14,0.23,0.22,1.49,1.54,0.13,0.10)),
  NR_LOST=rep(c(8288,7010,1432,1372,2818,2857,247,186)))

#filling colors
fill <- c("#72A3C9", "#B9DDF1","#F07E27","#FFC786")


#graph
ggplot(df, aes(x = SOC, y = CHURN_RATE, fill = CHURN_TYPE)) + 
geom_bar(position = "stack", stat = "identity") + facet_wrap( ~ MESE_RIF)  + 
geom_text(data=df, aes(label = (df$NR_LOST)), size=4, 
position=position_stack(vjust = 0.5)) + scale_fill_manual(values=fill)

person Bruno T    schedule 21.06.2019    source источник
comment
Итак, вы хотите, чтобы ENERGIA и ENERGIE использовали разные цвета?   -  person Sven    schedule 21.06.2019


Ответы (1)


У вас есть четыре цвета заливки, и fill сопоставляется с CHURN_RATE, который имеет два значения.

Один из подходов может состоять в том, чтобы сопоставить fill с комбинацией CHURN_RATE и SOC, как здесь.

ggplot(df, aes(x = SOC, y = CHURN_RATE, 
               fill = interaction(CHURN_TYPE, SOC))) + 
...

введите здесь описание изображения

person Jon Spring    schedule 21.06.2019