繁体   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