R 自定义分组条形图上的条形图颜色?

R 自定义分组条形图上的条形图颜色?,r,ggplot2,R,Ggplot2,我需要更改“案例”栏的颜色。例如,我希望a年龄组的“案例”栏为黄色,b年龄组的“案例”栏为蓝色,c年龄组的“案例”栏为绿色,等等。我只希望ggplot中当前为棕色的“案例”栏的颜色都是不同的颜色 以下是原始数据: data<-data.frame("agegroup" = c("a","b","c","a","b","c"), "type&q

我需要更改“案例”栏的颜色。例如,我希望a年龄组的“案例”栏为黄色,b年龄组的“案例”栏为蓝色,c年龄组的“案例”栏为绿色,等等。我只希望ggplot中当前为棕色的“案例”栏的颜色都是不同的颜色

以下是原始数据:

data<-data.frame("agegroup" = c("a","b","c","a","b","c"), "type" = c("case","case","case","control","control","control"), "value" = c(1,2,3,2,2,2))


提前感谢。

ggplot
的角度来看,您希望填充颜色是
类型
年龄组
列的组合。我们将此组合创建为单独的列,然后正常绘制:

data$fill_type = with(data, ifelse(type == "case", paste(type, agegroup), type))

ggplot(data, aes( x = agegroup, y=value, fill=fill_type)) + 
  geom_bar(
    width = 0.4, position = position_dodge(width=0.65), stat="identity") +
  scale_y_continuous(expand = c(0,0),limits=c(0,10), breaks=seq(from=0, to= 10, by=1)) + 
  theme(legend.position = c(0.1, 0.8),
        axis.text.x=element_text(angle=60, hjust=1, size=12, face="bold"), 
        axis.title.x=element_text(margin=margin(t=10,r=20,b=20,l=20),face="bold", size=12),
        legend.text=element_text(size=8)) +
  ylab("(%)")#+
  #scale_fill_manual(values = c("brown4","grey25"), name="",labels=c("case","controls",""))

data$fill_type = with(data, ifelse(type == "case", paste(type, agegroup), type))

ggplot(data, aes( x = agegroup, y=value, fill=fill_type)) + 
  geom_bar(
    width = 0.4, position = position_dodge(width=0.65), stat="identity") +
  scale_y_continuous(expand = c(0,0),limits=c(0,10), breaks=seq(from=0, to= 10, by=1)) + 
  theme(legend.position = c(0.1, 0.8),
        axis.text.x=element_text(angle=60, hjust=1, size=12, face="bold"), 
        axis.title.x=element_text(margin=margin(t=10,r=20,b=20,l=20),face="bold", size=12),
        legend.text=element_text(size=8)) +
  ylab("(%)")#+
  #scale_fill_manual(values = c("brown4","grey25"), name="",labels=c("case","controls",""))