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

如何为ggplot的geom_bar添加分组年度总计条形图?

给双分组条形图添加年度总计条形

要在现有双分组条形图基础上添加各年份的总计条形,可通过扩展数据框实现,具体操作如下:

1. 处理数据

先统计原数据中各年份各分组的数量,再插入总计行(支持固定值或自动计算总计):

library(ggplot2)
library(dplyr)

# 原数据
x <- data.frame(grp=rep(c("x1",  "x2", "x3"), 9), yr=c(rep(2016,4), rep(2017,5)))

# 方式1:使用固定总计值(2016年12,2017年15)
count_data <- x %>% 
  count(yr, grp) %>% 
  bind_rows(data.frame(yr = c(2016, 2017), grp = "总计", n = c(12, 15)))

# 方式2:基于原数据自动计算总计
# count_data <- x %>% 
#   count(yr, grp) %>% 
#   bind_rows(x %>% count(yr) %>% mutate(grp = "总计"))

2. 绘制带总计的条形图

通过position_dodge()设置统一宽度,确保分组条形与总计条形对齐:

ggplot(count_data, aes(x = factor(yr), y = n, fill = grp)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.9)) +
  labs(x = "年份", y = "数量", fill = "分组")

运行后,每个年份的分组条形旁会显示对应年份的总计条形。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:42:42