0

我有一个小问题,用javascript在直方图上使用悬停。这是我想放在nodejs前端的代码:

from bokeh.plotting import figure
from bokeh.io import output_notebook, show
output_notebook()
x =  [ "20-25", "25-30", "30-35", "35-40", "40-45", "45-50", "50-55", "55-60", "60-65", "65-70" ];
y = [ 0, 0, 0, 2, 3, 3, 1, 1, 1, 1 ]
p = figure( x_range=x, title= "Age structure", tools=["hover"], tooltips=[("Age", "@x"),("Nombre","@top")]);
p.vbar(x=x, top=y,  hover_color="tan", width=0.5, bottom=0, color="blue")
show(p)

它可以在我的带有 python 的笔记本上正常工作。

但是在我使用 javascript 的前端服务器上,尽管图形函数 -> Bokeh.Plotting.figure() 中有一个工具提示参数,但该图仅显示默认的工具提示悬停。

这是我的代码:https ://codepen.io/VivienD/pen/OJpjBwQ

Python 代码和 javascript 代码几乎完全相同。在 javascript/html 版本中,这一行似乎存在问题。

var p = Bokeh.Plotting.figure({ x_range:x, title: "Age structure", tools:["hover"], tooltips:[("Age", "@x"),("Nombre","@top")] });

要解决这个问题:
-我想到了这个 python 代码:

p.add_tools(HoverTool(
    tooltips=[( 'lat','@y{custom}' )],
    formatters={'@y':lat_custom}
))

但我不知道如何在 javascript 中导入 HoverTool 函数。

- 我也知道它可以通过 python 后端/烧瓶服务器(json_item -> embed doc)来解决,但我宁愿不将 python 代码添加到我的项目中。

谢谢,薇薇安。

4

0 回答 0