【发布时间】:2021-01-01 03:05:14
【问题描述】:
例如,我有一个如下的数据框,其中包含性别、年份、计数列。
gender year count
Man 2020 220
Man 2019 206
Man 2018 216
Man 2017 156
Woman 2020 45
Woman 2019 47
然后我想在每个堆叠条上放置 '%' ,每个条总共 100%。我试过了,但我能得到的是基于总条数的分离百分比。
例如,在 2020 年,我希望“男人”的百分比为 (220 / 220 + 45),而“女人”的百分比为 (45 / 220 + 45)。
这是我厌倦的代码。
ggplot(data = all_gen, aes(x = year, y = count, fill = gender)) +
geom_col() +
geom_text(aes(label = paste0(round(count / sum(count) * 100, 1), "%")), position = position_stack(vjust = 0.5), vjust = 0.5, hjust = 0.3, size = 4.5, col = "black") +
labs(x = "", y = "Count", title = "Gender by year")
我能做什么?
【问题讨论】: