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

如何在ggplot2中使用变量标注指数回归拟合方程与R²值

解决方案

你只需要将提前计算好的a/b/r变量值,通过字符串拼接注入到标注内容中,同时符合R的plotmath语法规则即可,示例代码如下:

第一步:构建标注字符串

# 你已经提前计算好了三个系数
a = round(exp(model$coefficients[1]), 2)
b = round(model$coefficients[2], 2)
r = round(summary(model)$r.squared, 2)

# 拼接符合plotmath语法的标注文本,~代表空格
eq_label <- paste0("y == ", a, " * e^{", b, " * x} ~~~~~~~~ R^2 == ", r)

第二步:在ggplot中添加标注

注意annotate不需要套aes(),直接传入固定的坐标值即可:

ggplot() +
  # 此处保留你原本的绘图逻辑,例如geom_point、拟合线等代码
  annotate("text", x = 3, y = 11, label = eq_label, parse = TRUE)

补充说明

你之前的代码失效有两个原因:

  • 标注字符串写死为"y == a*e^{b*x}",R不会自动将字符串里的a/b替换为你定义的变量值,必须通过拼接把实际数值写入字符串
  • annotate是用于添加固定位置的标注,不需要用aes()映射数据,多余的aes()可能引发报错

如果需要让公式中的e显示为斜体,只需要调整标注字符串为:

eq_label <- paste0("y == ", a, " * italic(e)^{", b, " * x} ~~~~~~~~ R^2 == ", r)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:54:00