我有 Bokeh 热图。我注册回调并能够获取单击位置的 x 和 y 坐标。有没有办法获得相同位置的 x 和 y 标签?看来cb_data不包含任何有用的信息。
source = ColumnDataSource(data=dict(xname=xname,
yname=yname,
colors=color,
alphas=alpha,
means=means.flatten(),
stds=stds.flatten(),))
callback = CustomJS(args=dict(source=source), code="""alert(JSON.stringify(cb_obj));""")
p = figure(title="Plot",
x_axis_location="above",
tools="pan,hover,save,wheel_zoom,box_zoom,reset",
x_range=labels, y_range=list(reversed(labels)))
p.js_on_event('tap', callback)
最佳答案
这就是我最终的做法。
tapCallback = CustomJS(args=dict(source=source), code="""
var index = source.selected['1d'].indices;
xlabel = source.data.xname[index];
ylabel = source.data.yname[index];
alert(ylabel + '-' + xlabel);
""")
p.select_one(HoverTool).tooltips = [('OD:', '@yname-@xname'),('mean', '@means'),('std', '@stds'),]
p.select_one(TapTool).callback = tapCallback
关于javascript - 如何获取 Bokeh 热图中点击位置的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50017962/