grouped bar graph

﹥>﹥吖頭↗ 提交于 2019-11-27 05:38:45

问题


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:


回答1:


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!