我想创建一个堆积条形图,其中不仅变量有唯一的颜色而且还有类别
a = c("A","A","B","B","C","C","D","D")
b = c("inclusion","exclusion","inclusion","exclusion","inclusion","exclusion","inclusion","exclusion")
c = c(60,20,20,80,50,55,25,20)
dat = data.frame(category=a, variable=b, value=c)
dat
category variable value
1 A inclusion 60
2 A exclusion 20
3 B inclusion 20
4 B exclusion 80
5 C inclusion 50
6 C exclusion 55
7 D inclusion 25
8 D exclusion 20
可以很容易地创建具有costum变量颜色的绘图:
colors <- c("#9ECAE1","#F03B20")
ggplot(dat, aes(category, value, fill = variable)) +
geom_bar()+
scale_fill_manual(values = colors)
问题是如何手动更改类别的颜色?任何帮助将不胜感激。
编辑:只是为了清除它,最终的情节应该有8种不同的颜色:每对颜色/变量将手动分配不同的颜色。
答案 0 :(得分:2)
好的,在这种情况下,您只需为每个唯一组合创建一个变量(在这种情况下,每行一个,但将两个变量粘贴在一起更为通用;您也可以使用interaction
):< / p>
dat$grp <- paste(dat$category,dat$variable)
ggplot(dat, aes(category, value, fill = grp)) +
geom_bar()+
scale_fill_manual(values = brewer.pal(8,"Reds"))