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

ggplot使用stat_regline_equation()移除回归线方程截距的方法咨询

解决方法

你不需要使用自带的完整方程标签..eq.label..,直接自定义拼接斜率和R²标签即可,修改后的代码如下:

library(ggpmisc)
library(dplyr)
library(ggplot2)

# 原有数据生成逻辑
df <- data.frame(x = c(1:100))
df$y <- 20 * c(0, 1) + 3 * df$x + rnorm(100, sd = 40)
df$group <- factor(rep(c("A", "B"), 50))
df <- df %>% group_by(group) %>% mutate(ymax = max(y))

p <- ggplot(data = df, aes(x = x, y = y, colour = group)) +
  geom_smooth(method = "lm", se=FALSE, formula = y ~ x) +
  # 自定义标签仅保留斜率和R²
  stat_regline_equation(
    aes(label =  paste0("italic(y) == ", round(..slope.., 2), "*italic(x) ~~~~~", ..rr.label..)),
    formula = y ~ x, 
    size = 3,
    parse = TRUE # 必须添加,保证数学格式正常渲染
  )
p

配置说明

  • ..slope..是ggpmisc内置的统计变量,可直接返回每组回归的斜率值
  • round(..slope.., 2)用于控制斜率显示的小数位数,可根据需求调整括号内的数字
  • 手动拼接标签时没有引入截距相关变量,即可实现移除截距的需求
  • parse = TRUE用于将字符串解析为R的数学表达式,保证变量斜体、R²等格式和原有显示效果一致

内容的提问来源于stack exchange,提问作者say.ff

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:54:05