温馨提示×

如何在Bokeh图表中添加自定义的JS回调

小樊
96
2024-05-20 11:47:38
栏目: 编程语言

要在Bokeh图表中添加自定义的JS回调,您可以使用CustomJS回调。以下是一个简单的示例,演示如何在Bokeh图表中添加一个点击事件的自定义JS回调:

from bokeh.plotting import figure, show
from bokeh.models import CustomJS, ColumnDataSource

# 创建一个数据源
source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5]))

# 创建一个图表
p = figure(plot_width=400, plot_height=400, tools="tap", title="Click the dots")

# 添加一个圆圈图形
circle = p.circle('x', 'y', size=20, source=source)

# 创建一个自定义JS回调
callback = CustomJS(args=dict(source=source), code="""
    var data = source.data;
    var ind = cb_data.source.selected.indices;
    console.log('Selected index:', ind);
""")

# 将自定义JS回调与图表的tap事件关联
p.js_on_event('tap', callback)

# 显示图表
show(p)

在这个例子中,我们创建了一个包含x和y坐标的数据源,并创建了一个包含这些数据的散点图。然后,我们创建了一个自定义JS回调,当用户点击图表中的点时,将会在控制台输出所选点的索引。最后,我们将自定义JS回调与图表的tap事件关联起来。

您可以根据需要修改自定义JS回调的代码,以实现您想要的功能。Bokeh还提供了许多其他类型的回调和自定义JS回调,可以帮助您实现各种交互功能。

0