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

如何用R语言ggplot复现预测器图及绘制点与线条?

用R语言复现目标图形及ggplot基础操作

一、ggplot绘制点与线条的基础方法

  • 核心工具:
    • geom_point():绘制散点,用于展示原始观测数据
    • geom_line():绘制线条,用于呈现拟合趋势或连续序列数据
  • 实操示例:
    先构造模拟数据并绘图:
    library(ggplot2)
    # 生成模拟数据
    set.seed(123)
    x <- seq(0, 10, by = 0.5)
    y <- 2*x + rnorm(length(x), mean = 0, sd = 1.5)
    df <- data.frame(x = x, y = y)
    
    # 绘制散点+线性拟合线
    ggplot(df, aes(x = x, y = y)) +
      geom_point(color = "steelblue", size = 2) + # 设置散点颜色与大小
      geom_smooth(method = "lm", se = FALSE, color = "darkred", linewidth = 1) # 拟合线,关闭置信区间显示
    

二、复现目标预测器图形(带置信区间的拟合预测图)

目标图是典型的回归预测拟合曲线+置信区间带,部分包含原始观测点,复现步骤如下:

1. 准备数据(模拟匹配目标图的预测结果)

以线性模型为例生成预测值与置信区间:

# 拟合线性模型
model <- lm(y ~ x, data = df)
# 生成带置信区间的预测序列
pred_df <- predict(model, newdata = data.frame(x = seq(0,10,0.1)), interval = "confidence") %>% 
  as.data.frame() %>% 
  mutate(x = seq(0,10,0.1))

2. 绘制图形

ggplot() +
  # 绘制原始观测散点
  geom_point(data = df, aes(x = x, y = y), color = "gray50", size = 1.5) +
  # 绘制预测拟合线
  geom_line(data = pred_df, aes(x = x, y = fit), color = "darkblue", linewidth = 1.2) +
  # 绘制置信区间填充带
  geom_ribbon(data = pred_df, aes(x = x, ymin = lwr, ymax = upr), fill = "lightblue", alpha = 0.3) +
  # 调整标签与主题
  labs(x = "预测变量", y = "响应/预测值", title = "预测器拟合图") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

关键细节说明

  • geom_ribbon():专门用于绘制区间填充区域,ymin和ymax对应置信区间的上下限
  • 若目标图是非线性拟合曲线,只需替换模型为非线性模型(如mgcv包的gam()函数),预测与绘图逻辑完全一致
  • 可通过调整color、fill、alpha、linewidth等参数,匹配目标图的样式细节

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:15:42