Bokeh 添加部件
bokeh.models.widgets模块包含了类似于HTML表单元素的GUI对象的定义,如按钮、滑块、复选框、单选按钮等。这些控件提供了绘图的交互界面。调用处理,如修改绘图数据,改变绘图参数等,可以通过自定义JavaScript函数在相应的事件上执行。
Bokeh允许用两种方法定义回调功能:
- 使用 CustomJS回调 ,这样互动性将在独立的HTML文档中工作。
-
使用 Bokeh服务器 并设置事件处理程序。
在本节中,我们将看到如何添加Bokeh部件和分配JavaScript回调。
按钮
这个部件是一个可点击的按钮,通常用于调用一个用户定义的回调处理程序。构造函数需要以下参数 –
label参数是一个字符串,用作按钮的标题,callback是点击时要调用的自定义JavaScript函数。
在下面的例子中,在柱状布局中显示了一个绘图和按钮部件。绘图本身在x和y数据系列之间显示了一个线状字样。
一个名为 “回调 “的自定义JavaScript函数已经用 CutomJS()函数 定义 。 它在表单变量cb_obj中接收对触发回调的对象的引用(在这种情况下是按钮)。
这个函数改变了源ColumnDataSource的数据,并最终在源数据中发出了这个更新。
输出(初始)
单击图形顶部的按钮,查看更新后的图形,如下所示 −
输出(点击后)
滑块
在滑块控件的帮助下,可以在分配给它的开始和结束属性之间选择一个数字。
在下面的例子中,我们对滑块的on_change事件注册了一个回调函数。滑块的瞬时数值以cb_obj.value的形式提供给处理程序,用于修改ColumnDatasource的数据。当你滑动位置时,绘图图会持续更新。
输出
RadioGroup
这个小组件展示了一个互斥的切换按钮的集合,在标题的左边显示圆形按钮。
其中,标签是一个标题列表,活动是选定选项的索引。
Select
这个小组件是一个简单的字符串项目的下拉列表,其中一个可以被选中。选定的字符串出现在顶部窗口,它是值参数。
下拉菜单中的字符串元素列表是以选项列表对象的形式给出的。
下面是一个单选按钮和选择部件的组合例子,两者都提供了x和y数据系列的三种不同关系。 单选组和 选择部件 通过on_change()方法与各自的处理程序注册。
输出
Tab小组件
就像在浏览器中,每个标签可以显示不同的网页一样,Tab小组件是Bokeh模型,为每个图形提供不同的视图。在下面的例子中,正弦和余弦曲线的两个图形被呈现在两个不同的标签中:
输出