簡體   English   中英

如何創建堆積條形圖

[英]How to create stacked bar chart

我希望能夠創建一個堆積條形圖,但是當我更改 stat ="identity" 時,我收到一個錯誤: “FUN(X[[i]], ...) 中的錯誤:找不到對象‘道具’”

圖片

這是我的代碼:

    ggplot(data = wq,aes(x=WHO_Risk_Level,group=1))+
  geom_bar(aes(y=..prop..,fill=factor(..x..)),stat ="count")+
  labs(y="Percent",x="WHO Risk Level")+
  scale_y_continuous(labels = scales::percent_format())+
  guides(
    fill=FALSE
  )

我認為您需要的參數是 position = "stack"。 stat = "identity" 將使條形圖對 y 軸上的事物進行計數,而 stat = "bin" 將類似於直方圖。 在 geom_bar() 中嘗試 position = "stack" 在我看來, position = "dodge" 是這里的默認設置

ggplot(data = wq,aes(x=WHO_Risk_Level,group=1))+
  geom_bar(aes(y=..prop..,fill=factor(..x..)),stat ="count", position = "stack")+
  labs(y="Percent",x="WHO Risk Level")+
  scale_y_continuous(labels = scales::percent_format())+
  guides(
    fill=FALSE

)

當您指定 x 作為因子時,我認為您不能堆疊它。首先計數並繪制的一種方法:

set.seed(111)
wq = data.frame(WHO_Risk_Level=sample(c("High","Intermediate","Low"),1000,
prob=c(0.25,0.35,0.4),replace=TRUE))

library(dplyr)

wq %>% 
count(WHO_Risk_Level) %>% 
mutate(proportion=100*n/sum(n)) %>% ggplot(aes(x=1,y=proportion,fill=WHO_Risk_Level)) + 
geom_bar(stat="identity") +
theme(axis.title.x=element_blank(),
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank())

在此處輸入圖片說明

暫無
暫無

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

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