在 Altair 3.0 中启用自动工具提示

Enable automatic tooltips in Altair 3.0

我注意到 Vega-Lite 3.0.0 release notes 提到了 "Tooltips are included by default,",这对于 Altair 3.0 中的箱线图是正确的,但对于直方图等其他图表则不然。

当我在 Vega 编辑器中打开我的 Altair 图时,我在图表定义顶部的 config 部分看到 "mark": {"tooltip": null}}。如果我删除 "mark": {"tooltip": null},工具提示会自动工作。

所以,而不是 this

{
  "config": {"view": {"width": 400, "height": 300}, "mark": {"tooltip": null}},
  "data": {
    "url": "https://vega.github.io/vega-datasets/data/seattle-temps.csv"
  },
  "mark": "bar",
  "encoding": {
    "x": {"type": "quantitative", "bin": true, "field": "temp"},
    "y": {"type": "quantitative", "aggregate": "count"}
  },
  "$schema": "https://vega.github.io/schema/vega-lite/v3.2.1.json"
}

我希望 Altair 输出像 this:

{
  "config": {"view": {"width": 400, "height": 300}},
  "data": {
    "url": "https://vega.github.io/vega-datasets/data/seattle-temps.csv"
  },
  "mark": "bar",
  "encoding": {
    "x": {"type": "quantitative", "bin": true, "field": "temp"},
    "y": {"type": "quantitative", "aggregate": "count"}
  },
  "$schema": "https://vega.github.io/schema/vega-lite/v3.2.1.json"
}

有没有办法防止 Altair 禁用工具提示?

我们选择禁用自动工具提示,因为 Vega-Lite 将在不久的将来禁用它们。如果您想在特定图表中启用默认工具提示,您可以使用,例如

alt.Chart(data).mark_point(tooltip=alt.TooltipContent('encoding'))

chart.configure_mark(tooltip=alt.TooltipContent('encoding'))

如果您希望会话中的每个图表都包含该设置,您可以创建一个默认启用此功能的 altair theme。例如:

def tooltips():
  return {'config': {'mark': {'tooltip': {'content': 'encoding'}}}}

alt.themes.register('tooltips', tooltips)
alt.themes.enable('tooltips')