我有以下数据并希望创建这样的分组条形图:
data<-as.data.frame(c("a","b","c","a","b","c"))
colnames(data)<-"Y"
data$X<-c("x","x","x","y","y","y")
data$Z<-c(1,2,3,1,2,3)
ggplot(data, aes(x=X, y=Z, fill=Y) +
geom_bar(stat="identity", colour="black", position="dodge", size=0.25, width=0.8, alpha=0.8) +
scale_fill_manual(values=c("red","red","red","blue","blue","blue"))
在代码的最后一行,我希望更改条形的颜色 - 我希望“x”组的所有条形为红色,“y”组的所有条形为蓝色。但是,如下图所示,我无法使用 scale_fill_manual
来做到这一点。
最佳答案
您需要将 group
和 fill
映射到正确的变量:
ggplot(data, aes(x=X, y=Z, group=Y, fill=X)) +
geom_bar(stat="identity", colour="black", position="dodge", size=0.25, width=0.8, alpha=0.8) +
scale_fill_manual(values=c("red","blue"))
关于r - 分组条形图自定义颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29015227/