Skip to main content
 首页 » 编程设计

python之Bokeh 悬停工具显示 '' 而不是 ColumnDataSource 值

2025年05月04日20jyk

我正在尝试向我的 Bokeh 图添加悬停工具提示。工具提示出现,但我试图显示的面积值显示为“???”。我正在使用 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)) 

请您参考如下方法:

问题是 Bokeh 允许两种不同的方式为字形提供数据。但只有一种方法适用于工具提示,如果工具提示引用数据中的列。 这一行:

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

应该改为:

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