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

如何在ggplot2分组柱状图上方添加条形数值标签?

解决ggplot2分组柱状图添加计数标签的问题

你可以通过以下调整实现每个条形上方显示计数:

首先修正代码里的小错误,然后给geom_text匹配和geom_bar一致的分组偏移,同时设置标签的位置避免和柱子重叠:

ggplot(DF, aes(Participant.Type, ..count..)) + 
    geom_bar(aes(fill=Sex), position = "dodge") +
    # 添加计数标签的关键代码
    geom_text(aes(label = ..count..), 
              position = position_dodge(width = 0.9), # 和geom_bar的dodge宽度匹配
              stat = "count", # 明确使用count统计规则
              vjust = -0.5, # 把标签往上移,避免和柱子顶部重叠
              size = 3.5) +
    theme_classic() +
    ggtitle("Main phenotypes stated for the PCDH19 cohort on GEL") + 
    scale_fill_viridis(option = "viridis")

关键调整说明:

  • 修正了你原代码里的..count...为..count..(多打一个点会导致统计值识别错误)
  • geom_text必须设置position = position_dodge(width = 0.9),这样标签才会和对应的分组柱子对齐(0.9是geom_bar默认的dodge宽度,保持一致即可)
  • 用vjust = -0.5把标签向上偏移,避免和柱子顶部贴在一起;如果你的数据数值较大,可以调整这个值或者改用y = ..count.. + n(n是你需要的固定偏移量)
  • 加上stat = "count"明确告诉ggplot使用计数统计规则,确保标签读取正确的数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:45:45