用不同的颜色填充 stacked/dodged 条

Filling stacked/dodged bar with different colors

我正在尝试构建一个结合堆叠和闪避的图表,以在两个不同的 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)

您有四种填充颜色,fill 被映射到 CHURN_RATE,它有两个值。

一种方法是将 fill 映射到 CHURN_RATESOC 的组合,如下所示。

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