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

如何用R语言ggplot绘制符合指定样式的条形图?

ggplot条形图绘制解决方案
  • 问题描述:我尝试用ggplot创建条形图,但未得到正确结果。
  • 我的数据集:
    数据集截图
  • 目标条形图样式:
    目标条形图样式

解决步骤

  1. 转换数据格式
    原始数据是宽格式,而分组条形图需要长格式数据,用tidyr包的pivot_longer完成转换:

    # 加载必要包
    library(ggplot2)
    library(tidyr)
    
    # 假设数据框名为df,转换为长格式
    df_long <- pivot_longer(df, cols = -类别, names_to = "分组", values_to = "数值")
    
  2. 绘制分组条形图
    使用geom_col配合position_dodge()实现目标样式:

    ggplot(df_long, aes(x = 类别, y = 数值, fill = 分组)) +
      geom_col(position = position_dodge(width = 0.9)) + # 控制分组条形的间距
      labs(x = "类别", y = "数值", fill = "分组") +
      theme_classic() # 匹配目标图的简洁风格
    

关键说明:目标图是分组并排的条形图,核心是把宽格式数据转成长格式,让每个类别下的不同分组作为单独的行,这样ggplot才能识别并绘制分组效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:20:42