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

如何在base R中绘制按温度分组的压力-粘度散点图及对应回归线?

base R实现分组拟合回归线+分面展示方案

以下两种方案均无需使用ggplot2,可直接在base R环境运行:

方案1:分面布局(完全匹配ggplot2的facet_wrap效果)

将4个温度水平的散点、回归线分别放在独立子图中,实现逻辑和facet_wrap完全一致:

  • 先通过par()设置2行2列的画布布局,匹配4个温度水平
  • 遍历每个温度水平,筛选对应子集后绘制散点、拟合线性回归、添加回归线
  • 绘图结束后重置画布参数,避免影响后续绘图操作

示例代码

# --------------------------
# 1. 示例数据构造(有实际数据可直接跳过该段)
# --------------------------
set.seed(123)
pressure <- runif(200, 1, 10)
temp <- factor(rep(c(0,25,44,98), each=50), levels = c(0,25,44,98))
viscosity <- 2*pressure + as.numeric(temp)*0.5 + rnorm(200, 0, 1)
df <- data.frame(viscosity, pressure, temp)

# --------------------------
# 2. 分面绘图代码
# --------------------------
# 保存原始画布参数,用于后续重置
old_par <- par(no.readonly = TRUE)
# 设置2行2列分面,调整边距避免标签重叠
par(mfrow = c(2,2), mar = c(4,4,2,1))

# 遍历每个温度水平绘图
for (t in levels(df$temp)) {
  sub_df <- df[df$temp == t, ]
  # 绘制散点
  plot(sub_df$pressure, sub_df$viscosity, 
       main = paste0("温度 = ", t, "℃"),
       xlab = "pressure", ylab = "viscosity",
       pch = 16, col = "steelblue")
  # 拟合当前组的线性回归
  fit <- lm(viscosity ~ pressure, data = sub_df)
  # 添加回归线
  abline(fit, col = "red", lwd = 2)
  # 可选:添加R²标注,不需要可删除
  r2 <- round(summary(fit)$r.squared, 3)
  legend("topleft", legend = paste0("R² = ", r2), bty = "n")
}

# 重置画布参数
par(old_par)

方案2:单图分组展示

如果不需要分面,也可以在同一张图中用不同颜色区分不同温度的散点和回归线:

# 定义每个温度对应的颜色
temp_colors <- c("0" = "steelblue", "25" = "darkorange", "44" = "forestgreen", "98" = "firebrick")

# 先绘制空白画布确定坐标轴范围
plot(df$pressure, df$viscosity, type = "n",
     xlab = "pressure", ylab = "viscosity")

# 遍历每个温度水平添加图形元素
for (t in levels(df$temp)) {
  sub_df <- df[df$temp == t, ]
  # 添加散点
  points(sub_df$pressure, sub_df$viscosity, pch = 16, col = temp_colors[t])
  # 拟合回归并添加回归线
  fit <- lm(viscosity ~ pressure, data = sub_df)
  abline(fit, col = temp_colors[t], lwd = 2)
}

# 添加图例
legend("topleft", legend = paste0("温度 = ", names(temp_colors), "℃"),
       col = temp_colors, pch = 16, lwd = 2, bty = "n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:27:02