r - 使用 ggplot 在 R 中创建堆叠百分比条形图

标签 r plot ggplot2

我一直在寻找一种方法,能够根据受访者的性别分类,将堆积条形图响应显示为百分比值。

我成功地使用变量“性别”进行填充创建了堆积条形图,但我希望该图显示该变量之间的比例。我知道使用 (..count..)/sum(..count) 和 scale_y 可以更改 y 轴,以便显示百分比,但我找不到将其用于我想要的用途的方法。手动创建一个单独的数据框,其中频率值[编辑]反射(reflect)百分比也是可能的,但我真的热衷于寻找一种仅使用 ggplot 的方法。

This is what the plot currently looks like:

这是当前代码:

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(标签=百分比)

This is what the final graph looks like

最佳答案

ggplot online documentation有一个很好的例子,将条形堆积到 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"应该可以满足您的需求。

关于r - 使用 ggplot 在 R 中创建堆叠百分比条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35919551/

相关文章:

r - 如何将同一项目多次附加到向量中?

python - 无法在 Jupyter QtConsole 中绘制颜色条 : No mappable was found . .. 错误

r - 使用facet_wrap时在ggplot2中使用具有不同比例因子的辅助y轴

r - 如何在不知道情节的确切坐标的情况下将文本放在情节 (ggplot2) 上?

r - 如何按组将 2 个函数添加到回归中?

r - 在 R 中将日期转换为文本

r - R 中工作区背后的哲学是什么?

python - 如何使用 matplotlib 绘制热图?

r - 如何使用R中的ggplot在不同类别的数据中制作不同的图案和颜色?

r - 突出显示 ggplot 堆积条形图中的一个因素