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

Deneb:动态修改Tooltip定义的实现方法

实现Deneb中基于状态动态切换Tooltip的方法

你可以通过Vega-Lite的条件表达式或数组动态拼接来实现根据b_highlightStatus的值动态调整2D图层的Tooltip内容,以下是两种可行方案:

方案1:使用条件字段追加(推荐)

直接在Tooltip数组中添加带条件判断的字段,当b_highlightStatus为"on"时显示额外字段,否则自动忽略该条目:

"tooltip": [
  {"field": "a"},
  {"field": "b"},
  {
    "condition": {
      "test": "datum.b_highlightStatus === 'on'",
      "field": "b__highlight",
      "title": "Highlighted"
    }
  }
]

说明

  • 该方式利用Vega-Lite的condition逻辑,当条件不满足时,第三个Tooltip条目会被自动排除,最终只显示前两个字段。
  • 只需将这段代码替换你2D图层中原有tooltip配置即可。

方案2:使用表达式动态生成Tooltip数组

如果需要更灵活的结构调整,可以用Vega的表达式语法直接生成完整的Tooltip数组:

"tooltip": {
  "expr": "concat(
    [{field: 'a'}, {field: 'b'}],
    datum.b_highlightStatus === 'on' ? [{field: 'b__highlight', title: 'Highlighted'}] : []
  )"
}

说明

  • concat函数负责拼接基础Tooltip数组和条件追加的数组。
  • 当状态为"on"时追加第三个字段,否则追加空数组,最终得到符合要求的Tooltip结构。

注意事项

  1. 确保b_highlightStatus字段已正确导入Deneb的数据集,且每个数据点都带有该状态属性。
  2. 仅针对需要动态调整的2D图层修改其encoding下的tooltip配置,不要影响其他图层的独立Tooltip设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:47:13