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

如何基于给定数据自动生成堆叠条形图(Stacked Bar Chart)

自动化生成堆叠条形图解决方案

步骤1:准备原始数据

先加载给定的数据框:

df <- structure(list(`1998` = c(11, 826), `2000` = c(217, 620), `2007` = c(625, 212), `2012` = c(836, 1)), 
                class = "data.frame", row.names = c("NEW", "OLD"))

步骤2:转换为长格式(完全自动化适配)

原始数据是宽格式,需要转为ggplot2兼容的长格式,这里无需手动指定年份列,代码会自动识别所有年份字段:

library(tidyverse)

df_long <- df %>%
  mutate(category = rownames(.)) %>%  # 将行名转为"类别"列
  pivot_longer(cols = -category, names_to = "year", values_to = "value") %>%
  mutate(year = as.factor(year))  # 年份转为因子,保证X轴按原始年份顺序排列

步骤3:绘制堆叠条形图

代码会自动根据类别分配颜色、生成图例,后续新增年份或类别时无需修改代码:

ggplot(df_long, aes(x = year, y = value, fill = category)) +
  geom_col(position = "stack") +
  labs(title = "NEW与OLD类别各年份数量堆叠图",
       x = "年份",
       y = "数量",
       fill = "类别") +
  theme_minimal()

效果说明

生成的图表以年份为X轴,NEW和OLD类别用不同颜色堆叠展示,所有类别、年份均由代码自动识别,全程无需手动编码适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:54:16