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

R语言geom_ribbon处理非唯一x值时的aes(x)参数设置问题

你遇到的竖线问题来自两个错误设置:

  • geom_ribbon未按model分组,不同模型的置信区间端点被强行连接
  • 手动将geom_ribbon的x映射为行号,和全局x轴的testOn日期映射错位,同时geom_line设置group=1也不符合分组绘图逻辑

第一步:数据预处理

先将testOn列转为日期格式,避免x轴排序异常:

library(dplyr)
DF <- DF %>% mutate(testOn = as.Date(testOn))

第二步:修正绘图代码

如果需要按不同模型单独绘制折线和置信区间,使用如下代码:

library(ggplot2)
ggplot(data = DF, 
       aes(y = mean, x = testOn, color = model, fill = model))+
  # 按model分组绘制折线
  geom_line(aes(group = model))+
  geom_point(size = 1.3)+
  # 直接用全局x映射,无需手动设置x,按model分组绘制置信区间
  geom_ribbon(aes(ymin = lci, ymax = uci, group = model), 
              alpha = 0.3, show.legend = FALSE)

如果你需要保留原来所有模型折线连为一条的效果(和你原代码group=1逻辑一致),仅调整geom_ribbon设置即可:

ggplot(data = DF, 
       aes(y = mean, x = testOn, color = model))+
  geom_line(aes(group=1))+
  geom_point(size = 1.3)+
  geom_ribbon(aes(ymin=lci, ymax=uci, group = model, fill = model), 
               alpha = 0.3, show.legend = FALSE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:24:04