我正在将Bokeh与Python结合使用,以从Pandas数据框创建输出。我可以将要显示的字段传递给该图;但是如果要在数据框中显示不同的字段,则必须更改代码,然后再次运行该函数。
这就是我显示图形的方式(为简单起见,我不添加数据框;它包含很多字段)
x_field = pd.data['names'].tolist()
y_field = pd.data['age'].tolist()
p=figure(plot_width=800, ploth_height=600, title="test", x_axis_label="names", y_axis_label="age", x_range=x_field)
p.xaxis.major_label_orientation = 0.78
p.vbar(top=y_field, x=x_field, width=0.5)
show(p)
我确实发现Bokeh有小部件;所以我能够创建一个单选按钮组,并将其添加到布局中
radio_group = RadioButtonGroup(labels=["test1", "test2"], active=0)
layout = row(widgetbox(radio_group), p)
show(layout)
这确实显示了小部件,但是我没有任何联系。您如何连接小部件,以便当我按下按钮时它会收到事件?
我确实在教程中找到了对update
函数的引用,但从未调用过它。我也看不到你如何“刷新”一个数字。现在查看示例,这对我来说并不立即。
编辑--------------------------
我确实发现您需要使用Bokeh服务器来创建交互式图形。另一种选择是使用CustomJS
在Python函数中调用JS代码;尽管该图似乎没有更新,即使正确执行了代码。
不确定这是否是Bokeh或其他问题,但我仍在寻找问题的根源。