如何在 "bar chart of counts" 上添加百分比标签

How to have percentage labels on a "bar chart of counts"

根据 R cookbook 示例,我仅使用一个变量创建了一个图表,并将其计数在 y 轴上:

ggplot(data_set, aes(x = species)) + geom_bar() 

然而,当我尝试使用

在条形图上添加标签时

geom_text()

函数显示每个柱的百分比我保持 运行 错误如下:

Error: geom_text requires the following missing aesthetics: y

Error: Aesthetics must be either length 1 or the same as the data (31357)

我尝试了以下建议:

但他们一直给我这些错误。我认为这是一个特例,因为我只使用一列并让 geom_bar() 自动为我计数。

这感觉做起来很简单,但我没有做任何工作,任何帮助将不胜感激。

首先,请为您的问题提供可重现的示例。我最近正在浏览 R Cookbook,实际上记得这一点,当你提到物种时,你似乎指的是 iris 数据集。

其次,我不确定你在添加百分比方面想要在这里实现什么,因为每个物种的条形图都是 100%...

第三,加计数的答案其实在你说的link你仔细看!

这是计数的解决方案;你需要指定标签和统计信息,否则 R 不会知道。

library(tidyverse)

ggplot(iris, aes(x = Species)) + 
  geom_bar() +
  geom_text(aes(label = ..count..), stat = "count", vjust = 1.5, colour = "white")