阅读量:7
要在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回调,可以帮助您实现各种交互功能。