bokeh.events

表示可用于触发回调的粒度事件。

Bokeh文档和应用程序能够支持各种交互。这些事件通常与事件相关,例如鼠标或触摸事件、交互式下采样模式激活、小部件或工具事件等。此模块中的类表示这些不同的事件,因此可以在回调发生时附加并执行回调。

可以用 CustomJS 回调,无论有没有Bokeh服务器都能正常工作。这可以通过传递和事件类以及 CustomJSjs_on_event() 方法。当 CustomJS 在浏览器中执行,其 cb_obj 参数将包含触发回调的具体事件对象。

from bokeh.events import ButtonClick
from bokeh.models import Button, CustomJS

button = Button()

button.js_on_event(ButtonClick, CustomJS(code='console.log("JS:Click")'))

或者,在Bokeh服务器上运行的Bokeh应用程序的上下文中,也可以触发Python代码在事件发生时运行。这可以通过将事件类和回调函数传递给 on_event() 方法。回调应该接受一个参数 event ,它将传递触发回调的具体事件对象。

from bokeh.events import ButtonClick
from bokeh.models import Button

button = Button()

def callback(event):
    print('Python:Click')

button.on_event(ButtonClick, callback)

注解

事件没有限制。一些事件,如 MouseMove 可能会以很高的速率触发。

class ButtonClick(model)[源代码]

在Bokeh按钮小部件上宣布按钮单击事件。

class DocumentEvent[源代码]

所有Bokeh文档事件的基类。

这个基类对于单独实例化通常不有用。

class DocumentReady[源代码]

当文档完全空闲时通知。

class DoubleTap(model, sx=None, sy=None, x=None, y=None)[源代码]

在Bokeh图上宣布双击或双击事件。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

class Event[源代码]

所有Bokeh事件的基类。

这个基类对于单独实例化通常不有用。

classmethod decode_json(dct)[源代码]

事件的自定义JSON解码器。

可以用作 object_hook 的参数 json.loadjson.loads .

参数

dct (dict) -- 解码字典的JSON字典应该有键 event_nameevent_values

引发

ValueError, if the event_name is unknown --

实际案例

>>> import json
>>> from bokeh.events import Event
>>> data = '{"event_name": "pan", "event_values" : {"model_id": 1, "x": 10, "y": 20, "sx": 200, "sy": 37}}'
>>> json.loads(data, object_hook=Event.decode_json)
<bokeh.events.Pan object at 0x1040f84a8>
class LODEnd(model)[源代码]

宣布“交互详细程度”模式结束。

在交互操作(如平移或缩放)期间,Bokeh可以选择临时绘制一组缩减的数据,以保持较高的交互速率。这称为交互式详细等级(LOD)模式。此事件在LOD模式刚结束时激发。

class LODStart(model)[源代码]

宣布在绘图上开始“交互式详细程度”模式。

在交互操作(如平移或缩放)期间,Bokeh可以选择临时绘制一组缩减的数据,以保持较高的交互速率。这称为交互式详细等级(LOD)模式。此事件在LOD模式刚开始时触发。

class MenuItemClick(model, item=None)[源代码]

在Bokeh菜单项上宣布按钮单击事件。

class ModelEvent(model)[源代码]

所有Bokeh模型事件的基类。

这个基类对于单独实例化通常不有用。

__init__(model)[源代码]

创建新的基本事件。

参数

model (Model) -- 注册事件回调的Bokeh模型

class MouseEnter(model, sx=None, sy=None, x=None, y=None)[源代码]

宣布鼠标进入事件到Bokeh图。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

当鼠标离开整个绘图画布(包括轴或图例的任何边框填充和空间)时,将生成enter事件。

class MouseLeave(model, sx=None, sy=None, x=None, y=None)[源代码]

从一个Bokeh情节中宣布一个鼠标离开事件。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

当鼠标离开整个绘图画布(包括轴或图例的任何边框填充和空间)时,将生成leave事件。

class MouseMove(model, sx=None, sy=None, x=None, y=None)[源代码]

在Bokeh情节上宣布鼠标移动事件。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件可能以非常高的速率触发,可能会增加网络流量或CPU负载。

class MouseWheel(model, delta=None, **kwargs)[源代码]

在Bokeh情节上宣布鼠标滚轮事件。

delta

(有符号)滚动速度

类型

浮动

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

默认情况下,Bokeh图不会阻止默认滚动事件,除非 WheelZoomToolWheelPanTool 处于活动状态。这可能会在将来的版本中发生变化。

class Pan(model, delta_x=None, delta_y=None, direction=None, **kwargs)[源代码]

在一个Bokeh阴谋中宣布一个泛活动。

delta_x

x方向的滚动量

类型

浮动

delta_y

y方向的滚动量

类型

浮动

direction

滚动方向(1或-1)

类型

浮动

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

class PanEnd(model, sx=None, sy=None, x=None, y=None)[源代码]

宣布在一个Bokeh阴谋的泛活动的结束。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

class PanStart(model, sx=None, sy=None, x=None, y=None)[源代码]

宣布一个泛活动的开始。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

class Pinch(model, scale=None, **kwargs)[源代码]

在一个Bokeh阴谋中宣布一个紧急事件。

scale

(有符号的)缩放量

类型

浮动

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件仅适用于触控设备。

class PinchEnd(model, sx=None, sy=None, x=None, y=None)[源代码]

在一个Bokeh阴谋中宣布一个紧缩事件的结束。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件仅适用于触控设备。

class PinchStart(model, sx=None, sy=None, x=None, y=None)[源代码]

在一个Bokeh阴谋中宣布一个紧缩事件的开始。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件仅适用于触控设备。

class PlotEvent(model)[源代码]

适用于绘图模型的所有事件的基类。

class PointEvent(model, sx=None, sy=None, x=None, y=None)[源代码]

与特定(x,y)点关联的UI事件的基类。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

请注意,数据空间坐标是相对于默认范围的,而不是任何额外的范围,并且屏幕空间原点位于HTML画布的左上角。

class Press(model, sx=None, sy=None, x=None, y=None)[源代码]

宣布一个关于博克阴谋的新闻发布会。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

class PressUp(model, sx=None, sy=None, x=None, y=None)[源代码]

在一个Bokeh情节上宣布一个新闻发布会。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

class Reset(model)[源代码]

宣布绘图上的按钮单击事件 ResetTool .

class Rotate(model, rotation=None, **kwargs)[源代码]

在Bokeh图上宣布一个轮换事件。

rotation

已完成的旋转(度)

类型

浮动

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件仅适用于触控设备。

class RotateEnd(model, sx=None, sy=None, x=None, y=None)[源代码]

宣布一个旋转事件的结束。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件仅适用于触控设备。

class RotateStart(model, sx=None, sy=None, x=None, y=None)[源代码]

宣布一个旋转事件的开始。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动

注解

此事件仅适用于触控设备。

class SelectionGeometry(model, geometry=None, final=True)[源代码]

宣布绘图上选择事件的坐标。

geometry

包含选择事件坐标的字典。

类型

双关语

final

在每个mousemove上进行选择时,选择事件是否是最后一个选择事件。

类型

布尔

class Tap(model, sx=None, sy=None, x=None, y=None)[源代码]

在Bokeh图上宣布点击或点击事件。

sx

事件的x坐标 屏幕 空间

类型

浮动

sy

事件的y坐标 屏幕 空间

类型

浮动

x

事件的x坐标 data 空间

类型

浮动

y

事件的y坐标 data 空间

类型

浮动