我正在摆弄一个包含一些全息图的 Bokeh 应用程序。我现在有一个显示 x=k1 和 y=v1 的 BoxWhisker 图,其中提供给 BoxWhisker 图的 DataFrame 还包含 k2 和 v2。
现在,当我通过下拉选择小部件 k2 或 v2 进行选择时,我想更新 BoxWhisker-plot 以使用 k2 而不是 k1 和 v2 而不是 v1 显示箱线图。我该如何实现这一目标?
这是一些设置代码
src = get_data_frame() # contains 4 cols: k1,k2,v1,v2
k_select = Select(value='k1',options=['k1','k2'])
v_select = Select(value='v1',options=['v1','v2'])
k_select.on_change('value', update)
v_select.on_change('value', update)
renderer = hv.renderer('bokeh').instance(mode='server')
plot = hv.BoxWhisker(src, k_select.value, v_select.value)
plot_render = renderer.get_plot(plot, curdoc())
def update(attr, old, new):
# HOW TO CHANGE THE AXIS IN THE PLOT?
controls = WidgetBox(k_select, v_select)
# Create a row layout
layout_design = row(controls, plot_render.state)
对于Panel来说这应该是微不足道的,它基于 Bokeh,但可以更简单地设置用小部件控制的绘图。
我是一名优秀的程序员,十分优秀!