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

在R语言中绘制带上下限的分组柱状图对比两组数据

合并数据并绘制带上下限的分组柱状图(R语言)

步骤1:合并数据

先给两个原始数据框添加分组标识,合并后转换为ggplot适配的长格式:

# 加载所需工具包
library(ggplot2)
library(tidyr)
library(dplyr)

# 为原始数据添加分组标签
data1$group <- "组1"
data2$group <- "组2"

# 合并两个数据框
combined_data <- rbind(data1, data2)

# 转换为长格式,将CO、PM转为统一的"污染物"列
combined_long <- combined_data %>%
  pivot_longer(
    cols = c(CO, PM),
    names_to = "污染物",
    values_to = "浓度值"
  )

步骤2:绘制分组柱状图

用ggplot2绘制以年份为X轴、污染物浓度为Y轴的分组柱状图,并添加指定的上下限误差线:

ggplot(combined_long, aes(x = factor(YOM), y = 浓度值, fill = 污染物)) +
  # 绘制分组柱状图,调整柱子间距
  geom_col(position = position_dodge(width = 0.8), width = 0.7) +
  # 添加上下限误差线,与柱状图对齐
  geom_errorbar(
    aes(ymin = lowerlim, ymax = upperlim),
    width = 0.2,
    position = position_dodge(width = 0.8)
  ) +
  # 设置图表标签
  labs(
    x = "年份",
    y = "浓度值",
    title = "不同年份CO与PM浓度对比(含上下限)",
    fill = "污染物类型"
  ) +
  # 使用简约主题
  theme_minimal() +
  # 设置填充色配色方案
  scale_fill_brewer(palette = "Set2")

关键说明

  • 用factor(YOM)将年份转换为离散型变量,确保X轴按年份独立分组展示
  • position_dodge参数保证同一年份下的不同污染物柱子和误差线对齐排列
  • geom_errorbar直接调用数据中的lowerlim和upperlim作为误差范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:46:15