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

如何在Vega-Lite图表中设置Tooltip标题为字段值而非硬编码值

在Vega-Lite中用数据字段值作为Tooltip标题的解决方法

直接在Tooltip的title字段中写入数据属性名(如"xName")只会显示字符串本身,无法获取对应的数据值。要实现动态将数据字段作为Tooltip标题,需要使用**表达式(expr)**来引用当前数据点的字段值,具体有两种常用方式:

方式一:在Tooltip字段配置中直接使用表达式

修改Tooltip的配置项,将title设置为包含expr的对象,通过datum.字段名获取当前数据点的对应值:

"tooltip": [
  {
    "field": "xToolTip",
    "title": {"expr": "datum.xName"}
  }
]

方式二:使用Tooltip的编码(encode)配置

如果需要更灵活地自定义Tooltip结构,可以通过encode分别定义标题和内容:

"tooltip": {
  "encode": {
    "title": {
      "text": {"expr": "datum.xName"}
    },
    "content": [
      {
        "type": "text",
        "text": {"expr": "datum.xToolTip"}
      }
    ]
  }
}

完整示例代码

以下是包含该配置的简单柱状图示例:

{
  "data": {
    "values": [
      {"xName": "产品A", "xToolTip": "销量100"},
      {"xName": "产品B", "xToolTip": "销量200"},
      {"xName": "产品C", "xToolTip": "销量150"}
    ]
  },
  "mark": "bar",
  "encoding": {
    "x": {"field": "xName", "type": "nominal"},
    "y": {"field": "xToolTip", "type": "quantitative"},
    "tooltip": [
      {
        "field": "xToolTip",
        "title": {"expr": "datum.xName"}
      }
    ]
  }
}

配置后,Tooltip的标题会动态显示对应数据点的xName字段值,而非固定字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:45:56