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

R语言:筛选行后绘制分组条形图失败(条形堆叠)求助

问题修正方案

你的代码出现堆叠条形而非分组展示的核心原因有两个:一是未将分组变量映射到fill/color参数,二是y轴指定的是分类变量而非要展示的数值数据。以下是修正后的可运行代码:

library(ggplot2)
library(dplyr)

target <- c("x", "y")
# 把下面的`value`替换成你数据中实际存储数值的列名
filtered_dat <- filter(dat, column %in% target)

ggplot(filtered_dat, aes(x = year, y = value, fill = column)) + 
  geom_col(position = position_dodge(width = 0.7), width = 0.7) + 
  geom_text(aes(label = value), 
            colour = "white",
            position = position_dodge(width = 0.7),
            vjust = 1.5) # 调整文字位置,避免被条形遮挡

关键调整说明:

  • 在aes()中添加fill = column:明确告诉ggplot按column的不同取值(x和y)进行分组
  • y轴替换为实际数值列:geom_col需要基于数值来绘制条形高度,不能用分类变量
  • 统一position_dodge(width = 0.7):让分组的条形和对应文字严格对齐,宽度参数和条形宽度保持一致
  • 调整vjust参数:将文字固定在条形内部下方,避免被条形本身遮挡

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:09:20