我一直在寻找一点,但是还没有找到一个可行的答案,所以我想问一下。
问题
一切都符合规范,但当我单击statesbp hbar图时,似乎无法触发获取选定条形值的回调函数(在这种情况下为hbar_select)。我在回调函数中添加了一条print语句,但是当服务器运行时,我看不到终端中出现此问题。
我该怎么做才能通过回调选择条形图?
预先感谢
丰富
hbar_source = ColumnDataSource(data=dict(state=[], sessions=[],))
hbartools = 'tap'
statesbp = figure(y_range=state_data.sort_values('sessions')['state'].values,plot_width=300,plot_height=500, tools='tap', title='Sessions By State')
statesbp.x_range.start = 0
statesbp.hbar(y='state', right='sessions', height=.5, color='navy', source=hbar_source)
def update(selected=None):
data = get_data(state=selected)
source.data = source.from_df(data)
source_static.data = source.data
ts1.title.text = selected
def hbar_select(attrname, old, new):
index_of_selected = new['1d']['indices'][0]
print(index_of_selected)
update(selected = index_of_selected)
def update_hbar():
data = get_states()
hbar_source.data = hbar_source.from_df(data)
#on hbar select, update line chart
hbar_source.on_change('selected',hbar_select)
# initialize data
update()
update_hbar()
curdoc().add_root(series)
curdoc().title = "Website Visits"
答案 0 :(得分:0)
现在,您正在寻找hbar_source.selected
中的更改,但这不会更改,它将始终是Selection对象!您应将此行更改为hbar_source.selected.on_change('indices',hbar_select)
。当您在ColumnDataSource
中选择条形的索引时,这将改变。