You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在百分比条形图底部添加各组每日观测数(n)?

如何在百分比条形图底部标注每日观测数(n)

我明白你想把每组的观测数n放在条形图的底部,而不是现在跟着条形高度走的位置。你的现有代码里geom_text默认使用了y=mean,所以文本会贴在条形的顶部或中间,咱们调整几个参数就能实现你要的效果:

修改后的完整代码

p2 <- ggplot(data = df2, aes(x = day, y = mean, fill = cohort))
p2 + geom_bar(stat = "identity", color = "black", position = position_dodge(0.9), size = 1) + 
  geom_text(aes(y = 0, label = n), color = "black", size = 3.5, 
            position = position_dodge(width=0.9), vjust = 1.5) + 
  labs(x = "Day", y = "Time in target range (%)")

关键调整说明

  • 给geom_text的aes里加上y = 0:把文本的基准位置固定在y轴的0点,也就是条形的底部位置
  • 调整vjust = 1.5:让文本向下偏移,刚好落在条形的正下方,避免和条形重叠。如果觉得位置不合适,可以微调这个数值——比如vjust=2会更靠下,vjust=1会稍微靠近条形
  • 保持position_dodge(width=0.9)和geom_bar的参数一致:确保每个cohort的n能精准对应到自己的条形下方,不会错位

这样修改后,每组的观测数就会整齐地标注在对应条形的底部啦~

内容的提问来源于stack exchange,提问作者Michele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:43:29