ggplot2 – 与堆叠和闪避条形图
我正在尝试使用ggplot2
创build一个barplot,在这里我通过一个variables进行堆栈,然后通过另一个variables进行躲避。
这是一个示例数据集:
df=data.frame( year=rep(c("2010","2011"),each=4), treatment=rep(c("Impact","Control")), type=rep(c("Phylum1","Phylum2"),each=2), total=sample(1:100,8))
我想创build一个barplot,其中x=treatment
, y=total
,堆栈variables是type
,闪避variables是year
。 当然,我可以做一个或另一个:
ggplot(df,aes(y=total,x=treatment,fill=type))+geom_bar(position="dodge",stat="identity") ggplot(df,aes(y=total,x=treatment,fill=year))+geom_bar(position="dodge",stat="identity")
但不是两个! 感谢任何能提供build议的人。
这里有一个替代方法,使用faceting而不是躲避:
ggplot(df, aes(x = year, y = total, fill = type)) + geom_bar(position = "stack", stat = "identity") + facet_wrap( ~ treatment)
随着泰勒build议的变化:
你可以得到最接近的是通过在dodged
酒吧周围画一个边框来突出堆叠的type
值。
ggplot(df, aes(treatment, total, fill = year)) + geom_bar(stat="identity", position="dodge", color="black")