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

如何从Vega回归中提取拟合参数及相关信息?附调试建议

Vega-Lite回归线拟合参数访问与datum调试方案

一、访问回归线拟合参数

Vega-Lite的regression变换会生成包含完整拟合信息的datum对象,除rSquared外,还支持直接访问以下核心参数:

  • slope: 回归线斜率
  • intercept: 回归线截距
  • meanSquaredError: 均方误差
  • explainedVariance: 解释方差

示例:在图表中展示拟合参数

可以通过添加text标记或配置tooltip来直观展示这些参数:

{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "data": {"url": "data/cars.json"},
  "layer": [
    {"mark": "point"},
    {
      "mark": "line",
      "transform": [
        {"regression": "Miles_per_Gallon", "on": "Horsepower", "as": ["_x", "_y"]}
      ],
      "encoding": {
        "x": {"field": "_x", "type": "quantitative"},
        "y": {"field": "_y", "type": "quantitative"}
      }
    },
    {
      "mark": {"type": "text", "y": 20, "x": 20, "lineBreak": "\n"},
      "encoding": {
        "text": {
          "expr": "'斜率: ' + format(datum.slope, '.2f') + '\n截距: ' + format(datum.intercept, '.2f') + '\nR²: ' + format(datum.rSquared, '.2f')"
        }
      }
    }
  ]
}

二、安全升级后查看datum键的调试方法

Vega安全沙箱限制了外部JS直接访问datum结构,可通过以下方式绕过限制进行调试:

  • 使用Vega Editor数据检查器: 在Vega Editor右侧的「Data」面板中,查看经过所有变换后的数据集,可直接看到datum的所有键值对。
  • 添加log变换输出到控制台: 在transform中加入log类型变换,将datum打印到浏览器控制台:
    "transform": [
      // 保留原有变换
      {"type": "log", "expr": "datum"}
    ]
    
    打开浏览器开发者工具的Console标签,即可查看完整的datum对象。
  • 用text标记输出datum序列化字符串: 在图表中添加text标记,将datum转为JSON字符串显示:
    {
      "mark": {"type": "text", "y": 50, "x": 20, "fontSize": 10},
      "encoding": {
        "text": {"expr": "JSON.stringify(datum)"}
      }
    }
    
  • 通过tooltip展示完整datum: 配置tooltip为{"content": "data"},hover图表元素时可查看datum全部内容:
    "config": {
      "tooltip": {"content": "data"}
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:52:12