簡體   English   中英

使用ggplot在R中創建堆積百分比條形圖

[英]Creating a Stacked Percentage Bar Chart in R with ggplot

根據受訪者的性別分類,我一直在尋找一種能夠將堆積條形圖響應顯示為百分比值的方法。

我成功地使用變量'sex'創建了一個堆積條形圖用於填充,但我希望該圖顯示該變量之間的比例。 我知道使用(..count ..)/ sum(.. count)和scale_y可以更改y軸,以便顯示百分比,但我找不到將其用於我想要的方法。 手動執行具有反映百分比的頻率值[編輯]的單獨數據框也是可能的,但我真的熱衷於尋找僅使用ggplot的方法。

這就是情節目前的樣子:

這是當前的代碼:

workday<-ggplot(student,aes(x=Dalc2,fill=sex))
plot1<-workday+geom_bar()+facet_wrap(~romantic2)+labs(title="Workday Alcohol Consumption",y="Number of Respondents",x="Response")+ylim(0,300)

我知道這是一個非常基本的問題,但是對這一問題的任何啟示都將非常感激。

(來自uci.edu的數據集)

編輯:

對於那些對解決方案感興趣的人,r.bot(非常感謝!)建議使用geom_bar(position="fill")

同時添加它來修改y軸: scale_y_continuous(labels=percent)

這就是最終圖表的樣子

ggplot 在線文檔有一個很好的疊加條形示例,達到100%。 由於您沒有提供數據,我無法調整您的代碼。 作為一個例子,請參閱

# http://docs.ggplot2.org/current/geom_bar.html
require(ggplot2)

g <- ggplot(mpg, aes(class))
g + geom_bar(aes(fill = drv), position = "fill")

position = "fill"可以得到你想要的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM