要在Bokeh圖表中實現點擊事件后調用Python函數,可以使用Bokeh的CustomJS
回調函數來實現。下面是一個示例代碼:
from bokeh.plotting import figure, show
from bokeh.models import CustomJS, ColumnDataSource
# 創建一個簡單的圖表
p = figure(plot_width=400, plot_height=400)
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5])
# 創建一個數據源
source = ColumnDataSource(data={'x': [1, 2, 3, 4, 5], 'y': [6, 7, 2, 4, 5]})
# 創建一個CustomJS回調函數
callback = CustomJS(args=dict(source=source), code="""
console.log('點了一個點')
""")
# 將回調函數綁定到圖表上
p.js_on_event('tap', callback)
# 顯示圖表
show(p)
在這個示例中,我們創建了一個簡單的散點圖,并使用CustomJS
回調函數創建一個點擊事件,當用戶點擊圖表上的任何一個點時,控制臺將打印出"點了一個點"。你可以將這個回調函數替換為調用你想要執行的Python函數。