使用R中的ggplot2建立Y軸顯示百分比的堆疊條形圖。


要使用R中的ggplot2建立Y軸顯示百分比的堆疊條形圖,我們可以在geom_bar內使用fill引數,並將第二個分類變數與position設定為fill。

例如,如果我們有一個包含兩個分類列(例如C1和C2)的資料框,那麼我們可以使用以下命令建立Y軸顯示百分比的堆疊條形圖:

ggplot(df,aes(C1))+geom_bar(aes(fill=C2),position="fill")

示例

以下程式碼片段建立一個示例資料框:

f1<-sample(LETTERS[1:3],20,replace=TRUE)
f2<-sample(letters[1:2],20,replace=TRUE)
df<-data.frame(f1,f2)
df

建立了以下資料框

  f1 f2
 1 B b
 2 C a
 3 A b
 4 A a
 5 A a
 6 C a
 7 B a
 8 B a
 9 C b
10 B a
11 A a
12 C a
13 A b
14 C b
15 C a
16 B b
17 A b
18 B a
19 A a
20 C a

要載入ggplot2包併為上述建立的資料框中的f1和f2列建立Y軸顯示百分比的堆疊條形圖,請將以下程式碼新增到上面的程式碼片段中:

f1<-sample(LETTERS[1:3],20,replace=TRUE)
f2<-sample(letters[1:2],20,replace=TRUE)
df<-data.frame(f1,f2)
library(ggplot2)
ggplot(df,aes(f1))+geom_bar(aes(fill=f2),position="fill")

輸出

如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:

更新於:2021年11月8日

992 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.