R带百分比的叠加百分比条形图,带有ggplot的两个因子变量

问题描述 投票:0回答:1

我正在尝试绘制两个因子变量,并在图中使用%标记结果。

我已经检查了此帖子以及他/她提供的链接:

How to center stacked percent barchart labels

您在这里使用的ggplot行实际上来自推荐的其中一篇文章:

sex <- c("F","F","M", "M", "M", "F","M","F","F", "M", "M", "M", "M","F","F", "M", "M", "F")
behavior <- c("A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C", "B", "C", "A")

BehSex <- data.frame(sex, behavior)

ggplot(BehSex, aes(x= factor(sex), fill= factor(behavior), y = (..count..)/sum(..count..)))+
  geom_bar() +
  stat_bin(geom = "text",
          aes(label = paste(round((..count..)/sum(..count..)*100), "%")),
          vjust = 5)

但是,当我使用该行时,出现以下错误:

错误:StatBin需要连续的x变量:x变量是离散的。也许您想要stat =“ count”?

我尝试在geom_bar()中使用stat =“ count”,但似乎无法按预期工作。

三个问题:1)我在做什么错?2)如何管理我想要的东西?3)如何绘制:%,然后在另一张图中计数?

Here's the plot that I have right now

谢谢您的帮助!

r ggplot2 label bar-chart geom-bar
1个回答
0
投票

我认为一种更简单的将y轴标签格式化为百分比的方法是使用scale_y_continuous(labels = scales::percent),而不是使用stat_bin(...)。因此,代码可以保持几乎相同。

© www.soinside.com 2019 - 2024. All rights reserved.