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

如何在ggplot2+ggh4x分面图中添加95%预测置信区间

为分面散点图添加95%预测置信区间

我使用ggh4x包的facet_grid2函数制作了x、y轴均为自由刻度的分面散点图,当前已添加线性拟合线,现需为每个分面添加95%预测置信区间。

原绘图代码:

ggplot(data_calibration, aes(Observed,Predicted))+
  geom_point(color="black",alpha = 1/3) + 
  facet_grid2(Station ~ Method, scales="free", independent = "all")+
  xlab("Measured") +
  ylab("Predicted") + 
  theme_bw()+
  geom_smooth(method="lm") +
  theme(panel.grid.minor = element_blank())

相关数据结构:

data_calibration = structure(list(Observed = c(17229L, 15964L, 13373L, ...), Station = structure(c(1L,1L,...), .Label = c("Raigad","Ratnagiri","Thane "), class = "factor"), Method = structure(c(6L,6L,...), .Label = c("ANN","ELNET","LASSO","PCA-ANN","PCA-MLR","SMLR"), class = "factor"), Predicted = c(14463L,14285L,...)), class = "data.frame", row.names = c(NA,-270L))

修改方案

geom_smooth默认绘制的是置信区间(confidence interval),要切换为预测区间,只需在geom_smooth中添加interval = "prediction"参数,同时保留method="lm"指定线性模型。修改后的完整代码如下:

ggplot(data_calibration, aes(Observed, Predicted)) +
  geom_point(color = "black", alpha = 1/3) +
  facet_grid2(Station ~ Method, scales = "free", independent = "all") +
  xlab("Measured") +
  ylab("Predicted") +
  theme_bw() +
  geom_smooth(method = "lm", interval = "prediction") +  # 添加预测区间参数
  theme(panel.grid.minor = element_blank())

这样每个分面都会显示线性拟合线以及对应的95%预测置信区间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:35:16