I have the following data:
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 Using R, I want to make a bar graph where there is a bar for rowA and a bar for rowB for each bin. I can group total_dist by one or the other (plot(total_dist~bin) or plot(total_dist~groupname)). But I can't figure out how to combine them.
I want something that looks similar to this example:
George Dontas
Here is a classic solution. (Supposing your dataframe is named 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")) and here is solution using 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")
来源:https://stackoverflow.com/questions/3007120/grouped-bar-graph