Vega 中的多值工具提示

Multi-value tooltip in Vega

我正在使用 Vega(不是 vega-lite,因为我使用的 treemap 在 vega-lite 中不受支持)。

在上面 link 的示例中,我在悬停时添加了工具提示,因此您可以看到每个小框是什么:

    ...
    {
      "type": "rect",
      "from": {"data": "leaves"},
      "encode": {
        ...
        "hover": {
          "tooltip": {"field": "name"},  // What I added
          "fill": {"value": "red"}
        }
      }
    },
    ...

这非常适合在工具提示中显示名称,但我想显示多个字段,但我不知道其语法。我尝试过类似的东西:

    tooltip: [{"field": "name"}, {"field": "depth"}]  // Doesn't work
    tooltip: {"field": ["name", "depth"]}  // Also doesn't work

格式化的字符串也可以,但我也不知道格式化是如何工作的:

    tooltip: "datum['name'] is depth datum['depth']"  // Doesn't work

Marks -> Rect documentation 有点无助地将“工具提示”的类型定义为“任何”(我什至不确定该文档是否适用,因为我的工具提示实际上在 encode - > hover 矩形的子对象。

有没有办法显示多个工具提示值?

是的!同样,这是很难找到任何文档的事情之一。但这是我如何实现这一目标的示例。

....

encode: {
  enter: {
    tooltip: {
      signal: "{'Title1': datum.field1,
                'Title2': datum.field2,
                'Title3': datum.field3}"
    }

...

你也很亲近!由于某种原因,您只需将其定义为一个大信号,然后您就可以访问当前数据。

我知道这是没有引号的(我使用 Kibana 编辑器),所以您可能需要稍微调整一下语法。