分组条形图

dna*_*irl 12 graphing r

我有以下数据:

bin groupname   total_dist
0   rowA    377
0   rowA    306.6
0   rowB    2.1
0   rowB    110.6
1   rowA    918.1
1   rowA    463.2
1   rowB    798.2
1   rowB    1196
2   rowA    1295.1
2   rowA    1269.1
2   rowB    698
2   rowB    1022.1
Run Code Online (Sandbox Code Playgroud)

使用R,我想打一个条形图那里是行rowA酒吧和rowB中的一间酒吧的每个垃圾桶.我可以将total_dist分组为一个或另一个(plot(total_dist~bin)plot(total_dist~groupname)).但我无法弄清楚如何将它们结合起来.

我想要一些看起来类似于这个例子的东西: 示例分组条形图

Geo*_*tas 28

这是一个经典的解决方案.(假设您的数据框已命名df)

data <- tapply(df$total_dist, list(df$groupname,df$bin), sum)

barplot(data,beside=T,col=c("#ee7700","#3333ff")
,main="European Parliament Elections",xlab="Group",ylab="Seats")

legend(locator(1),rownames(data),fill=c("#ee7700","#3333ff"))
Run Code Online (Sandbox Code Playgroud)

这里是使用ggplot2的解决方案

library(ggplot2)
qplot(factor(bin),data=df,geom="bar",fill=groupname,weight=total_dist,position="dodge",
main = "European Parliament Elections", xlab="Group",ylab="Seats")
Run Code Online (Sandbox Code Playgroud)

替代文字