使用特定列填充 Bokeh 中的工具提示

Using a specific column to populate tooltips in Bokeh

考虑以下散点图示例。 我有一个包含三列的数据框 dfcolAcolBcolC。我想绘制 df 的散点图,以便工具提示显示 colC.

的值

我试过了:

import bokeh
from bokeh.charts import Scatter, output_file, show
from bokeh.models import HoverTool

p = Scatter(df, x='colA', y='colB', title="Foo", color="navy",
            xlabel="A", ylabel="B", tools="hover")

hover = p.select(dict(type=HoverTool))
hover.tooltips = [("C", "$colC")]
hover.mode = 'mouse'
output_file("scatter.html")
show(p)

C 在工具提示中始终显示为 ????。为什么?

$ 语法仅适用于 few specific special pre-defined variables。您想要使用 @foo 来引用数据源中的通用列:

from bokeh.plotting import figure, output_file, show

p = figure(tools="hover")

p.circle(x='colA', y='colB', title="Foo", color="navy", source=df)

p.hover.tooltips = [("C", "@colC")]
p.hover.mode = 'mouse'

output_file("scatter.html")
show(p)

参见,例如http://docs.bokeh.org/en/latest/docs/user_guide/tools.html#hovertool