R 更改ggplot2中变量和类别的颜色

R 更改ggplot2中变量和类别的颜色,r,plot,ggplot2,stacked,R,Plot,Ggplot2,Stacked,我想创建一个堆叠条形图,其中不仅变量有其唯一的颜色,而且还有类别 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, val

我想创建一个堆叠条形图,其中不仅变量有其唯一的颜色,而且还有类别

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)

colors好的,在这种情况下,您只需为每个唯一的组合创建一个变量(在这种情况下,每行一个,但将两个变量粘贴在一起更为一般;您也可以使用
交互
):


dat$grp所以你的目标是一个有4条、8段的条形图,每段有不同的颜色(即8种独特的颜色)?16种不同的颜色(如果可能的话)-我没有说清楚:配对类别/变量会有一种。我今天早上一定没有喝足够的咖啡,因为看起来只有8种颜色。(4个类别x 2个变量=8个组合)你喝了足够的咖啡,但我没有(真实的故事,它是8种颜色(=行数)。我的不好。
dat$grp <- paste(dat$category,dat$variable)

ggplot(dat, aes(category, value, fill = grp)) +
    geom_bar()+
    scale_fill_manual(values = brewer.pal(8,"Reds"))