要在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回調,可以幫助您實現各種交互功能。