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

基于R绘制全天空气与蛇类体温平均值带多边形误差棒的图表

绘制带多边形误差带的空气与蛇类体温对比图

步骤1:数据准备与整理

先将宽格式数据转换为长格式,并计算每个时间点的均值及误差范围(以下以95%置信区间为例,可替换为标准差/标准误)。请将示例数据替换为你的实际dput数据:

# 加载依赖包
library(tidyverse)

# 替换为你的实际dput数据
snake_temp <- structure(list(
  time = rep(c("00:00", "02:00", "04:00", "06:00", "08:00", "10:00", "12:00", "14:00", "16:00", "18:00", "20:00", "22:00"), each = 5),
  air_temp = rnorm(60, mean = 25, sd = 2),
  snake_A = rnorm(60, mean = 28, sd = 3),
  snake_B = rnorm(60, mean = 26, sd = 2.5),
  snake_C = rnorm(60, mean = 30, sd = 2.8)
), class = "data.frame", row.names = c(NA, -60L))

# 转长格式并计算统计量
temp_summary <- snake_temp %>%
  pivot_longer(-time, names_to = "group", values_to = "temperature") %>%
  group_by(time, group) %>%
  summarise(
    mean_temp = mean(temperature, na.rm = TRUE),
    se = sd(temperature, na.rm = TRUE)/sqrt(n()),
    lower = mean_temp - 1.96*se,  # 95%置信区间下限
    upper = mean_temp + 1.96*se   # 95%置信区间上限
  ) %>%
  ungroup() %>%
  mutate(time = factor(time, levels = unique(time)))  # 固定时间顺序

步骤2:绘制带多边形误差带的对比图

用ggplot2的geom_ribbon实现多边形误差带,同时绘制均值折线和点:

ggplot(temp_summary, aes(x = time, y = mean_temp, group = group)) +
  # 多边形误差带(设置透明度避免遮挡)
  geom_ribbon(aes(ymin = lower, ymax = upper, fill = group), alpha = 0.2, color = NA) +
  # 均值折线
  geom_line(aes(color = group), linewidth = 1) +
  # 均值点
  geom_point(aes(color = group), size = 2) +
  # 图表标签
  labs(
    x = "采样时间",
    y = "温度(℃)",
    title = "全天空气与蛇类体温对比",
    color = "类别",
    fill = "类别"
  ) +
  # 主题优化
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
    axis.text.x = element_text(angle = 45, hjust = 1)  # 旋转x轴文本防止重叠
  )

关键调整说明

  • 若用标准差作为误差范围,将lower和upper改为mean_temp ± sd(temperature)即可。
  • 若你的时间是POSIXct格式,无需转因子,直接用x = time会自动按时间顺序排列。
  • geom_ribbon的color = NA用于隐藏误差带边框,避免线条杂乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:43:21