我需要为条形图中的每个组手动设置颜色。目前使用fill=time来确定颜色。我们有5个品牌,每个品牌有2个不同月份的值。我需要按品牌分组,同时需要一种显示哪个棒表示哪个月(时间)的方法。我可以做到这一点,但我希望能够为每个棒组着色。例如:brand1 bars = red,brand2 bars = blue等,同时仍然保持fill = time。
以下是我的代码:
colors <- c("#98999B", "#F4C400", "#CB003D", "#6BABE5", "#E65400", "#542C82")
time <- c("February 2017","March 2017","February 2017","March 2017","February 2017","March 2017","February 2017","March 2017","February 2017","March 2017")
value <- as.numeric(c("3.08","3.64","1.61","1.81","-1.02","-1.09","-5.23","-5.08","-1.51","-1.43"))
brand <- c("brand1","brand1","brand2","brand2","brand3","brand3","brand4","brand4","brand5","brand5")
Monthly_BMS_df <- as.data.table(cbind(time,value,brand))
bar <- ggplot(Monthly_BMS_df, aes(brand, value, fill = time)) +
geom_bar(stat="identity", position = "dodge") +
theme(legend.position='none') + scale_fill_manual(values=colors)
ggplotly(bar, width=1000,height=350)