我是 Bokeh 和 Javascript 的新手,我正在嘗試在 Bokeh 中實現一個簡單的多選小部件。這個想法只是根據用戶選擇的一個或多個字母(A、B、C)在散點圖上顯示 x 和 y 數據。在用戶選擇一個選項之前,圖表應該是空的。問題在于 Javascript 回調:當我使用 MultiSelect 小部件選擇條目時沒有任何反應。代碼如下。from bokeh.models import CustomJS, ColumnDataSource, MultiSelect, Columnfrom bokeh.plotting import figure, showimport pandas as pddata = dict(letter = ['A','A','B','C','B','B','A','C','C','B'], x = [1, 2, 1, 2, 3, 2, 2, 3, 2, 3], y = ['10','20','10','30','10','40','10','30','10','40'])data = pd.DataFrame(data)data_source = ColumnDataSource(data)source = ColumnDataSource(dict(letter = [], x = [], y = []))plot = figure()plot.circle('x', 'y', line_width = 2, source = source)callback = CustomJS(args = {'source': source, 'data_source': data_source},code = """var data = data_sourcesource.data = data[cb_obj.value];""")multiselect = MultiSelect(title = 'Choose', value = [], options = ['A', 'B', 'C'])multiselect.js_on_change('value', callback)layout = Column(multiselect, plot)show(layout)有任何想法嗎 ?
如何在 Bokeh 中為多選小部件實現 Javascript 回調
翻閱古今
2021-06-01 04:11:06