【问题标题】:Adding catagory labels on a stacked bar chart in R在 R 中的堆积条形图上添加类别标签
【发布时间】:2021-03-26 00:09:03
【问题描述】:

我在 ggplot2 中制作了一个 geom_col() 图表,我想在条形图上添加标签,但每个堆叠条形图只有一个。 这是我的图表没有标签的样子:

gI <- df %>% 
  ggplot(aes(fill = Category, y=csum, x= tijdas)) +
  geom_col()
plot(gI)

现在是棘手的部分。每个堆叠条都有一个特定的 Meeting_type,我想将它添加到情节中。我已经尝试添加

geom_text(aes(label = Meeting_Type), position = position_dodge(width=0.9), vjust=-0.25)

但这导致每个栏中的每个类别都有一个标签(所以很多文本):

我希望每个(堆叠的)条形图只有一个标签来指示 Meeting_type。最好放在可读的地方。

【问题讨论】:

  • 为了摆脱重复的标签,将 fill = Category 作为本地 aes 移动到 geom_col

标签: r ggplot2 geom-col


【解决方案1】:

如果不查看您的数据,很难知道最佳方法,但将stat_summary 替换为geom_text 可能是对每一列求和以获得标签位置的好方法:

library(ggplot2)
library(dplyr)

mtcars %>% 
  ggplot(aes(factor(cyl), y = mpg, fill = factor(gear))) +
  geom_col() +
  stat_summary(aes(label = factor(cyl), fill = NULL),
               fun = sum, 
               geom = "text", vjust = -0.25)

reprex package (v0.3.0) 于 2020 年 12 月 15 日创建

正如我所说,您的数据可能需要不同的函数 - 如果这不是解决方案,请使用 dput 发布示例,我们将看看是否可以使其适用于您的数据。

【讨论】:

  • 很高兴它有帮助!过去我用过几种不好的方法来尝试解决这个问题,但是我最近才开始习惯的 stat_summary 函数对于整理/缩短代码非常有用。
猜你喜欢
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-22
相关资源
最近更新 更多