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

如何在R中绘制含95%/75%/50%可信区间的猎物箱线图?

在R中绘制带多百分位数区间的猎物饮食贡献箱线图

数据预处理

首先将你的统计数据整理成R可识别的数据框,注意避免列名含特殊字符(比如百分号),建议将列名替换为p2.5、p5这类格式:

# 替换为你的真实数据
diet_data <- data.frame(
  Species = c("南极磷虾", "乌贼", "鲱鱼"),
  Mean = c(12.5, 8.3, 15.7),
  SD = c(2.1, 1.5, 3.2),
  Mode = c(12, 8, 16),
  p2.5 = c(8.2, 5.1, 9.3),
  p5 = c(9.1, 5.8, 10.5),
  p25 = c(10.8, 6.7, 13.1),
  p50 = c(12.5, 8.3, 15.7),
  p75 = c(14.2, 9.9, 18.3),
  p95 = c(16.8, 11.5, 22.1),
  p97.5 = c(17.6, 12.1, 23.4)
)

用ggplot2绘制自定义箱线图(推荐)

ggplot2支持灵活定义分位数区间,完美匹配你展示95%、75%、50%区间的需求:

library(ggplot2)

ggplot(diet_data, aes(x = Species)) +
  # 外层须:95%可信区间(p2.5 ~ p97.5)
  geom_errorbar(aes(ymin = p2.5, ymax = p97.5), width = 0.2, color = "gray50") +
  # 中层线:75%区间(可替换为你需要的分位数,这里用p5 ~ p95示例)
  geom_errorbar(aes(ymin = p5, ymax = p95), width = 0.1, color = "#2c3e50") +
  # 箱体:50%区间(p25 ~ p75),中线为中位数p50
  geom_boxplot(aes(ymin = p25, lower = p25, middle = p50, upper = p75, ymax = p75),
               stat = "identity", fill = "#3498db", width = 0.3) +
  # 标记均值点(红色菱形)
  geom_point(aes(y = Mean), color = "#e74c3c", size = 2, shape = 18) +
  # 自定义标签与主题
  labs(title = "雄性海狗饮食贡献分位数区间",
       x = "猎物种类",
       y = "饮食贡献比例") +
  theme_minimal()

代码说明:

  • stat = "identity":告诉ggplot直接使用你提供的分位数数据,无需自动计算
  • 多层geom_errorbar:分别展示不同置信水平的区间,可根据你的需求替换分位数列
  • geom_boxplot的参数:lower/upper对应箱体上下边界,middle对应中位数线

用基础绘图系统绘制(备选)

如果你偏好R基础绘图,可使用以下代码:

# 调整绘图边距
par(mar = c(5, 4, 4, 2) + 0.1)
# 计算x轴位置
x_pos <- 1:nrow(diet_data)

# 绘制50%区间箱体
boxplot(diet_data$p50 ~ diet_data$Species,
        boxwex = 0.3, col = "#3498db",
        ylim = range(c(diet_data$p2.5, diet_data$p97.5)),
        xlab = "猎物种类", ylab = "饮食贡献比例",
        main = "雄性海狗饮食贡献分位数区间")

# 添加95%区间须
segments(x_pos, diet_data$p2.5, x_pos, diet_data$p97.5, col = "gray50")
# 添加75%区间横向短线
segments(x_pos - 0.1, diet_data$p5, x_pos + 0.1, diet_data$p5, col = "#2c3e50")
segments(x_pos - 0.1, diet_data$p95, x_pos + 0.1, diet_data$p95, col = "#2c3e50")
# 添加均值标记
points(x_pos, diet_data$Mean, col = "#e74c3c", pch = 18, cex = 1.2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:35:54