考虑一个示例数据框和相对geom_bar
图
data = data.frame(method=LETTERS[sample(x=c(1,2,3),size=100,replace=T)],
x1=sample(x=c(1,2,3,4,5,6),size=100,replace=T),
x2=sample(x=c(1,2,3,4,5,6),size=100,replace=T),
d =letters[sample(c(1,2,3,4),size=100,replace=T)] )
ggplot()+
geom_bar(data=data, aes(x=method, y=x1),stat="identity") +
facet_wrap(~d, ncol=2)
我想为每个红色图的较小列着色。 我怎样才能做到这一点?
答案 0 :(得分:4)
我不确定如何在不折叠数据的情况下执行此操作,以便能够创建指定哪个值最小的新列。然后你可以将美学与这个价值联系起来。这是使用您的数据的折叠策略
collapsed < -as.data.frame(xtabs(x1~d+method, data))
collapsed$ismin <- with(collapsed, ave(Freq,d,FUN=function(x) x==min(x)))
现在我们用
绘图ggplot(collapsed, aes(x=method, y=Freq, fill=as.factor(ismin)))+
geom_bar(stat="identity") +
facet_wrap(~d, ncol=2) +
scale_fill_manual(breaks=c("0","1"), values=c("black","red"), guide="none")
导致