如何用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
相关产品推荐
相关产品推荐

