散景悬停工具显示“ ???”而不是ColumnDataSource的值

时间:2018-07-20 18:54:15

标签: python bokeh

enter image description here我正在尝试向我的散景图添加一个悬停工具提示。显示工具提示,但是我要显示的面积值显示为“ ???”。我正在使用ColumnDataSource设置绘图源数据,而area是该数据源中的有效列。我不知道为什么该图无法调整面积值。

source = ColumnDataSource(data=df.groupby('state').sum())
TOOLTIPS = [("area", "@%area")]
p = figure(x_range=source.data['state'], width=1300, height=1000)
p.vbar(x=source.data['state'], top=source.data['area'], width=.5)
from bokeh.models import HoverTool
p.add_tools(HoverTool(tooltips=TOOLTIPS))

1 个答案:

答案 0 :(得分:5)

问题在于Bokeh允许两种不同的方式将数据提供给字形。但是,如果工具提示引用了数据中的一列,则只有一种方法可以使用该工具提示。 这行:

p.vbar(x=source.data['state'], top=source.data['area'], width=.5)

应更改为:

p.vbar(x='state', top='area', width=.5, source=source)