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

ggplot直方图添加条形总数标签及分组标签位置调整求助

解决ggplot直方图标签位置问题

核心问题修正:填充分组计数标签位置

原代码中geom_text未设置位置参数,导致标签无法对应到填充分组的正确位置。只需添加position = position_stack(vjust = 0.5),让标签居中显示在每个堆叠的填充块内。

附加需求:添加条形总数标签

通过stat_summary统计每个条形的总计数,并将标签放置在条形顶端(因coord_flip()翻转坐标,实际显示在条形右侧)。

完整修改后代码

# 请替换x和fill的参数为你数据集里的实际列名
ggplot(my_dataset, aes(x = Município, fill = 你的填充列名)) +
  stat_count() +
  scale_fill_viridis_d(option = "viridis", direction = 1) +
  labs(x = "Município", y = "Contagem", title = "Histogram with flipped coordinates") +
  coord_flip() +
  theme_minimal() +
  facet_wrap(vars(RTDT)) +
  # 显示每个填充分组的计数(非核心需求,可删除)
  geom_text(stat = "count", aes(label = ..count..), 
            position = position_stack(vjust = 0.5), size = 3) +
  # 显示每个条形的总数标签(核心需求)
  stat_summary(fun = sum, aes(label = after_stat(y), y = after_stat(y)), 
               geom = "text", vjust = -0.5, size = 3.5, fontface = "bold")

代码说明

  • position_stack(vjust = 0.5):将分组计数标签垂直居中于每个填充块,解决位置错位问题。
  • stat_summary(fun = sum):计算每个x轴类别(Município)的总计数,after_stat(y)调用计算结果作为标签内容,vjust = -0.5调整标签位置,避免与分组标签重叠。
  • 若不需要分组计数,直接删除对应的geom_text部分即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:45:49