2015-02-06 94 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), 
         "%"))) 
相關問題