2015-02-06 74 views
0

我需要构建一个水平条形图,该条形图是有序的,并具有频率计数(我可以得到)以及顶部(侧面)的频率百分比。我迄今为止的代码看起来像这样。我无法订购图表或添加百分比(除了计数)。任何帮助深表感谢。我很抱歉,我是新来的,没有足够的声望发布示例图片。如何将频率百分比添加到ggplot2中的有序条形图

event <- c("a","a","a","a","a","a","b","b","b","b","c","c","c","c","c") 
dat <- data.frame(event) 


ggplot(dat, aes(x=event)) + geom_bar(fill = "orange", width = 0.5) + coord_flip() + 
    geom_text(stat='bin',aes(label=..count..,vjust=.75, hjust = 0)) 

感谢您的帮助

+0

当然这已经被要求在SO上回答。你有没有做搜索? – 2015-02-06 22:24:06

+3

更改顺序可以通过事先更改因子来完成:'dat $ event < - factor(dat $ event,levels = names(sort(table(dat $ event))))'。添加百分比的方法与绝对值一样:'geom_text(stat ='bin',aes(label = paste0(.. count ..,“,”,round(.. count ../ sum(.. count ..)* 100,1),“%”)))'。 – lukeA 2015-02-06 22:41:03

+0

@lukeA - 非常感谢。你的解释是正确的,并解决了我遇到的问题。 – SMisra 2015-02-07 03:23:05

回答

0

更改顺序可以通过提前改变的因素来完成:

dat$event <- factor(dat$event, levels = names(sort(table(dat$event)))). 

和添加比例的作品就像你用绝对值做:

geom_text(stat='bin', 
     aes(label=paste0(..count.., 
         ", ", 
         round(..count../sum(..count..)*100, 1), 
         "%"))) 
相关问题