我是 Bokeh 和 Javascript 的新手,我正在嘗試在 Bokeh 中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的多選小部件。這個(gè)想法只是根據(jù)用戶選擇的一個(gè)或多個(gè)字母(A、B、C)在散點(diǎn)圖上顯示 x 和 y 數(shù)據(jù)。在用戶選擇一個(gè)選項(xiàng)之前,圖表應(yīng)該是空的。問題在于 Javascript 回調(diào):當(dāng)我使用 MultiSelect 小部件選擇條目時(shí)沒有任何反應(yīng)。代碼如下。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 中為多選小部件實(shí)現(xiàn) Javascript 回調(diào)
翻閱古今
2021-06-01 04:11:06