注释#

用于可以添加到图表中的各种注释的渲染器。

class Angular(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:CustomDimensional

角度测量单位。

JSON Prototype
{
  "basis": {
    "entries": [
      [
        "\u00b0", 
        [
          1, 
          "^\\circ", 
          "degree"
        ]
      ], 
      [
        "'", 
        [
          0.016666666666666666, 
          "^\\prime", 
          "minute"
        ]
      ], 
      [
        "''", 
        [
          0.0002777777777777778, 
          "^{\\prime\\prime}", 
          "second"
        ]
      ]
    ], 
    "type": "map"
  }, 
  "exclude": [], 
  "id": "p51909", 
  "include": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticks": [
    1, 
    3, 
    6, 
    12, 
    60, 
    120, 
    240, 
    360
  ]
}
basis = {'°': (1, '^\\circ', 'degree'), "'": (0.016666666666666666, '^\\prime', 'minute'), "''": (0.0002777777777777778, '^{\\prime\\prime}', 'second')}#
Type:

Required(Dict(String, Either(Tuple(Float, String), Tuple(Float, String, String))))

定义测量单位的基础。

这包括短单位名称与其对应的缩放因子、TeX名称和可选的完整名称之间的映射。例如,定义角度测量单位的基础是:

basis = {
    "°":  (1,      "^\circ",           "degree"),
    "'":  (1/60,   "^\prime",          "minute"),
    "''": (1/3600, "^{\prime\prime}", "second"),
}
exclude = []#
Type:

List

从基础中要避免的单位子集。

include = None#
Type:

Nullable(List)

从基础中选择的首选单位的可选子集。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticks = [1, 3, 6, 12, 60, 120, 240, 360]#
Type:

Required(List)

在非精确模式下选择的首选值。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发它们的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

此模型附加到的Document(可以为None

class Annotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: CompositeRenderer

所有注释模型的基类。

注意

这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。

JSON Prototype
{
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p51917", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发它们的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

此模型附加到的Document(可以为None

class Arrow(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:DataAnnotation

将箭头渲染为注释。

请参阅Arrows以获取关于绘制箭头的信息。

JSON Prototype
{
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "end": {
    "id": "p51938", 
    "name": "OpenHead", 
    "type": "object"
  }, 
  "end_units": "data", 
  "group": null, 
  "id": "p51934", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "line_color": {
    "type": "value", 
    "value": "black"
  }, 
  "line_dash": {
    "type": "value", 
    "value": []
  }, 
  "line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "line_width": {
    "type": "value", 
    "value": 1
  }, 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "source": {
    "attributes": {
      "data": {
        "type": "map"
      }, 
      "selected": {
        "attributes": {
          "indices": [], 
          "line_indices": []
        }, 
        "id": "p51936", 
        "name": "Selection", 
        "type": "object"
      }, 
      "selection_policy": {
        "id": "p51937", 
        "name": "UnionRenderers", 
        "type": "object"
      }
    }, 
    "id": "p51935", 
    "name": "ColumnDataSource", 
    "type": "object"
  }, 
  "start": null, 
  "start_units": "data", 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true, 
  "x_end": {
    "field": "x_end", 
    "type": "field"
  }, 
  "x_range_name": "default", 
  "x_start": {
    "field": "x_start", 
    "type": "field"
  }, 
  "y_end": {
    "field": "y_end", 
    "type": "field"
  }, 
  "y_range_name": "default", 
  "y_start": {
    "field": "y_start", 
    "type": "field"
  }
}
context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

end = OpenHead(id='p51964', ...)#
Type:

Nullable(Instance(ArrowHead))

ArrowHead 的实例。

end_units = 'data'#
Type:

Enum(CoordinateUnits)

end_x 和 end_y 属性的单位类型。默认情况下解释为“数据空间”单位。

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 1.0#
Type:

AlphaSpec

箭头主体的线条透明度值。

line_cap = 'butt'#
Type:

LineCapSpec

箭头主体的线帽值。

line_color = 'black'#
Type:

ColorSpec

箭头主体的线条颜色值。

line_dash = []#
Type:

DashPatternSpec

箭头主体的虚线值。

line_dash_offset = 0#
Type:

IntSpec

箭头主体的虚线偏移值。

line_join = 'bevel'#
Type:

LineJoinSpec

箭头主体的线条连接值。

line_width = 1#
Type:

NumberSpec

箭头主体的线宽值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

source = ColumnDataSource(id='p52035', ...)#
Type:

Instance(DataSource)

在图表上渲染注释时使用的本地数据源。

start = None#
Type:

Nullable(Instance(ArrowHead))

ArrowHead 的实例。

start_units = 'data'#
Type:

Enum(CoordinateUnits)

start_x 和 start_y 属性的单位类型。默认情况下解释为“数据空间”单位。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

渲染器是否可见。

x_end = Field(field='x_end', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位箭头终点的x坐标。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

x_start = Field(field='x_start', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

箭头起始位置的x坐标。

y_end = Field(field='y_end', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位箭头终点的y坐标。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

y_start = Field(field='y_start', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位箭头起点的y坐标。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ArrowHead(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类:Marking

箭头基类。

注意

这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。

JSON Prototype
{
  "id": "p52103", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "size": {
    "type": "value", 
    "value": 25
  }, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

size = 25#
Type:

NumberSpec

箭头的大小,以像素为单位。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Band(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:DataAnnotation

沿着一个维度渲染一个填充区域带。

请参阅Bands以获取关于绘制波段的信息。

JSON Prototype
{
  "base": {
    "field": "base", 
    "type": "field"
  }, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "dimension": "height", 
  "elements": [], 
  "fill_alpha": 0.4, 
  "fill_color": "#fff9ba", 
  "group": null, 
  "id": "p52108", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "line_alpha": 0.3, 
  "line_cap": "butt", 
  "line_color": "#cccccc", 
  "line_dash": [], 
  "line_dash_offset": 0, 
  "line_join": "bevel", 
  "line_width": 1, 
  "lower": {
    "field": "lower", 
    "type": "field"
  }, 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "source": {
    "attributes": {
      "data": {
        "type": "map"
      }, 
      "selected": {
        "attributes": {
          "indices": [], 
          "line_indices": []
        }, 
        "id": "p52110", 
        "name": "Selection", 
        "type": "object"
      }, 
      "selection_policy": {
        "id": "p52111", 
        "name": "UnionRenderers", 
        "type": "object"
      }
    }, 
    "id": "p52109", 
    "name": "ColumnDataSource", 
    "type": "object"
  }, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "upper": {
    "field": "upper", 
    "type": "field"
  }, 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
base = Field(field='base', transform=Unspecified, units=Unspecified)#
Type:

UnitsSpec

上下值的正交坐标。

base_units = 'data'#
Type:

NotSerialized(Enum(CoordinateUnits))

用于关联属性的单位:canvas、screen 或 data

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

dimension = 'height'#
Type:

Enum(Dimension)

可以通过将此属性设置为“height”(y方向)或“width”(x方向)来指定带的方向。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

fill_alpha = 0.4#
Type:

Alpha

带的填充透明度值。

fill_color = '#fff9ba'#
Type:

Nullable(Color)

波段的填充颜色值。

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 0.3#
Type:

Alpha

波段的线条透明度值。

line_cap = 'butt'#
Type:

Enum(LineCap)

线条的端帽值用于带。

line_color = '#cccccc'#
Type:

Nullable(Color)

波段的线条颜色值。

line_dash = []#
Type:

DashPattern

波段的虚线值。

line_dash_offset = 0#
Type:

Int

线条虚线偏移量的值用于波段。

line_join = 'bevel'#
Type:

Enum(LineJoin)

波段的线条连接值。

line_width = 1#
Type:

Float

带的线宽值。

lower = Field(field='lower', transform=Unspecified, units=Unspecified)#
Type:

UnitsSpec

填充区域带的下部坐标。

lower_units = 'data'#
Type:

NotSerialized(Enum(CoordinateUnits))

用于关联属性的单位:canvas、screen 或 data

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

source = ColumnDataSource(id='p52208', ...)#
Type:

Instance(DataSource)

在图表上渲染注释时使用的本地数据源。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

upper = Field(field='upper', transform=Unspecified, units=Unspecified)#
Type:

UnitsSpec

填充区域带的上部坐标。

upper_units = 'data'#
Type:

NotSerialized(Enum(CoordinateUnits))

用于关联属性的单位:canvas、screen 或 data

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class BoxAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类:Annotation, AreaVisuals

渲染一个带阴影的矩形区域作为注释。

请参阅Box annotations以获取有关绘制箱形注释的信息。

JSON Prototype
{
  "border_radius": 0, 
  "bottom": {
    "attributes": {
      "symbol": "bottom", 
      "target": "frame"
    }, 
    "id": "p52251", 
    "name": "Node", 
    "type": "object"
  }, 
  "bottom_limit": null, 
  "bottom_units": "data", 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "editable": false, 
  "elements": [], 
  "fill_alpha": 0.4, 
  "fill_color": "#fff9ba", 
  "group": null, 
  "handles": {
    "attributes": {
      "all": {
        "attributes": {
          "fill_color": "white", 
          "hover_fill_color": "lightgray"
        }, 
        "id": "p52252", 
        "name": "AreaVisuals", 
        "type": "object"
      }
    }, 
    "id": "p52253", 
    "name": "BoxInteractionHandles", 
    "type": "object"
  }, 
  "hatch_alpha": 1.0, 
  "hatch_color": "black", 
  "hatch_extra": {
    "type": "map"
  }, 
  "hatch_pattern": null, 
  "hatch_scale": 12.0, 
  "hatch_weight": 1.0, 
  "hover_fill_alpha": 0.4, 
  "hover_fill_color": null, 
  "hover_hatch_alpha": 1.0, 
  "hover_hatch_color": "black", 
  "hover_hatch_extra": {
    "type": "map"
  }, 
  "hover_hatch_pattern": null, 
  "hover_hatch_scale": 12.0, 
  "hover_hatch_weight": 1.0, 
  "hover_line_alpha": 0.3, 
  "hover_line_cap": "butt", 
  "hover_line_color": null, 
  "hover_line_dash": [], 
  "hover_line_dash_offset": 0, 
  "hover_line_join": "bevel", 
  "hover_line_width": 1, 
  "id": "p52247", 
  "inverted": false, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "left": {
    "attributes": {
      "symbol": "left", 
      "target": "frame"
    }, 
    "id": "p52248", 
    "name": "Node", 
    "type": "object"
  }, 
  "left_limit": null, 
  "left_units": "data", 
  "level": "annotation", 
  "line_alpha": 0.3, 
  "line_cap": "butt", 
  "line_color": "#cccccc", 
  "line_dash": [], 
  "line_dash_offset": 0, 
  "line_join": "bevel", 
  "line_width": 1, 
  "max_height": {
    "type": "number", 
    "value": "+inf"
  }, 
  "max_width": {
    "type": "number", 
    "value": "+inf"
  }, 
  "min_height": 0, 
  "min_width": 0, 
  "movable": "both", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "resizable": "all", 
  "right": {
    "attributes": {
      "symbol": "right", 
      "target": "frame"
    }, 
    "id": "p52249", 
    "name": "Node", 
    "type": "object"
  }, 
  "right_limit": null, 
  "right_units": "data", 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "symmetric": false, 
  "syncable": true, 
  "tags": [], 
  "top": {
    "attributes": {
      "symbol": "top", 
      "target": "frame"
    }, 
    "id": "p52250", 
    "name": "Node", 
    "type": "object"
  }, 
  "top_limit": null, 
  "top_units": "data", 
  "use_handles": false, 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
border_radius = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

允许盒子具有圆角。

注意

此属性是实验性的,可能会随时更改。

bottom = Node(id='p52268', ...)#
Type:

Either(Either(Float, Datetime, Factor), Instance(Node))

框注释底边的y坐标。

bottom_limit = None#
Type:

Nullable(Either(Either(Float, Datetime, Factor), Instance(Node)))

盒子移动的可选底部限制。

注意

此属性是实验性的,可能会随时更改。

bottom_units = 'data'#
Type:

Enum(CoordinateUnits)

底部属性的单位类型。默认情况下解释为数据单位。如果bottom是一个节点,则此属性没有任何效果。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

editable = False#
Type:

Bool

允许交互式修改此盒子的几何形状。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

fill_alpha = 0.4#
Type:

Alpha

盒子的填充透明度值。

fill_color = '#fff9ba'#
Type:

Nullable(Color)

盒子的填充颜色值。

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

handles = BoxInteractionHandles(id='p52347', ...)#
Type:

Instance(BoxInteractionHandles)

配置交互手柄的外观。

可以按递增的特定级别批量配置句柄,每个级别如果定义了,将覆盖更通用的设置:

  • all -> move, resize

  • resize -> sides, corners

  • sides -> left, right, top, bottom

  • corners -> top_left, top_right, bottom_left, bottom_right

注意

此属性是实验性的,可能会随时更改。

hatch_alpha = 1.0#
Type:

Alpha

箱子的阴影透明度值。

hatch_color = 'black'#
Type:

Nullable(Color)

盒子的填充颜色值。

hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

盒子的额外填充值。

hatch_pattern = None#
Type:

Nullable(String)

盒子的填充图案值。

hatch_scale = 12.0#
Type:

Size

盒子的阴影比例值。

hatch_weight = 1.0#
Type:

Size

箱子的阴影权重值。

hover_fill_alpha = 0.4#
Type:

Alpha

当悬停在盒子上时的填充透明度值。

hover_fill_color = None#
Type:

Nullable(Color)

当悬停时框的填充颜色值。

hover_hatch_alpha = 1.0#
Type:

Alpha

当悬停在盒子上时的填充透明度值。

hover_hatch_color = 'black'#
Type:

Nullable(Color)

悬停时框的填充颜色值。

hover_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

悬停时盒子的额外填充值。

hover_hatch_pattern = None#
Type:

Nullable(String)

悬停时框的填充图案值。

hover_hatch_scale = 12.0#
Type:

Size

当悬停在盒子上时的阴影比例值。

hover_hatch_weight = 1.0#
Type:

Size

悬停时框的阴影权重值。

hover_line_alpha = 0.3#
Type:

Alpha

当悬停在盒子上时的线条透明度值。

hover_line_cap = 'butt'#
Type:

Enum(LineCap)

悬停时框的线帽值。

hover_line_color = None#
Type:

Nullable(Color)

悬停时框的线条颜色值。

hover_line_dash = []#
Type:

DashPattern

悬停时框的虚线值。

hover_line_dash_offset = 0#
Type:

Int

悬停时框的虚线偏移值。

hover_line_join = 'bevel'#
Type:

Enum(LineJoin)

当悬停在盒子上时的线条连接值。

hover_line_width = 1#
Type:

Float

悬停时框的线宽值。

inverted = False#
Type:

Bool

反转盒子的几何形状,即应用填充和阴影视觉效果到盒子的外部而不是内部。视觉效果应用于盒子与其父元素之间,例如框架。

left = Node(id='p52509', ...)#
Type:

Either(Either(Float, Datetime, Factor), Instance(Node))

框注释左侧边缘的x坐标。

left_limit = None#
Type:

Nullable(Either(Either(Float, Datetime, Factor), Instance(Node)))

盒子移动的可选左限。

注意

此属性是实验性的,可能会随时更改。

left_units = 'data'#
Type:

Enum(CoordinateUnits)

left属性的单位类型。默认情况下解释为数据单位。如果left是一个节点,则此属性没有任何效果。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 0.3#
Type:

Alpha

盒子的线条透明度值。

line_cap = 'butt'#
Type:

Enum(LineCap)

盒子的线帽值。

line_color = '#cccccc'#
Type:

Nullable(Color)

盒子的线条颜色值。

line_dash = []#
Type:

DashPattern

盒子的虚线值。

line_dash_offset = 0#
Type:

Int

盒子的虚线偏移值。

line_join = 'bevel'#
Type:

Enum(LineJoin)

盒子的线条连接值。

line_width = 1#
Type:

Float

盒子的线条宽度值。

max_height = inf#
Type:

Positive

允许设置盒子的最大高度。

注意

此属性是实验性的,可能会随时更改。

max_width = inf#
Type:

Positive

允许设置盒子的最小高度。

注意

此属性是实验性的,可能会随时更改。

min_height = 0#
Type:

NonNegative

允许设置盒子的最大宽度。

注意

此属性是实验性的,可能会随时更改。

min_width = 0#
Type:

NonNegative

允许设置盒子的最小宽度。

注意

此属性是实验性的,可能会随时更改。

movable = 'both'#
Type:

Enum(Movable)

如果设置了editable,此属性允许配置盒子可以在哪些方向上移动。

注意

此属性是实验性的,可能会随时更改。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

resizable = 'all'#
Type:

Enum(Resizable)

如果设置了editable,此属性允许配置哪些边的组合可以被移动,从而允许对框的大小调整进行限制。

注意

此属性是实验性的,可能会随时更改。

right = Node(id='p52650', ...)#
Type:

Either(Either(Float, Datetime, Factor), Instance(Node))

框注释右侧边缘的x坐标。

right_limit = None#
Type:

Nullable(Either(Either(Float, Datetime, Factor), Instance(Node)))

盒子移动的可选右限。

注意

此属性是实验性的,可能会随时更改。

right_units = 'data'#
Type:

Enum(CoordinateUnits)

right属性的单位类型。默认情况下解释为数据单位。如果right是一个节点,则此属性没有任何效果。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

symmetric = False#
Type:

Bool

指示框是否围绕其中心或角落可调整大小。

注意

此属性是实验性的,可能会随时更改。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

top = Node(id='p52707', ...)#
Type:

Either(Either(Float, Datetime, Factor), Instance(Node))

框注释顶部边缘的y坐标。

top_limit = None#
Type:

Nullable(Either(Either(Float, Datetime, Factor), Instance(Node)))

盒子移动的可选上限。

注意

此属性是实验性的,可能会随时更改。

top_units = 'data'#
Type:

Enum(CoordinateUnits)

顶部属性的单位类型。默认情况下解释为数据单位。如果top是一个节点,则没有任何效果。

use_handles = False#
Type:

Bool

是否显示交互(移动、调整大小等)手柄。

如果不使用手柄,那么整个注释、其边框和角落的行为就像它们是交互手柄一样。

注意

此属性是实验性的,可能会随时更改。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class BoxInteractionHandles(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:Model

定义用于类似框的注释的交互句柄。

JSON Prototype
{
  "all": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "bottom": null, 
  "bottom_left": null, 
  "bottom_right": null, 
  "corners": null, 
  "id": "p52750", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "left": null, 
  "move": null, 
  "name": null, 
  "resize": null, 
  "right": null, 
  "sides": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "top": null, 
  "top_left": null, 
  "top_right": null
}
name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ColorBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:BaseColorBar

基于颜色映射器渲染颜色条。

请参阅Color bars以获取关于绘制颜色条的信息。

JSON Prototype
{
  "background_fill_alpha": 0.95, 
  "background_fill_color": "#ffffff", 
  "bar_line_alpha": 1.0, 
  "bar_line_cap": "butt", 
  "bar_line_color": null, 
  "bar_line_dash": [], 
  "bar_line_dash_offset": 0, 
  "bar_line_join": "bevel", 
  "bar_line_width": 1, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "color_mapper": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "display_high": null, 
  "display_low": null, 
  "elements": [], 
  "formatter": "auto", 
  "group": null, 
  "height": "auto", 
  "id": "p52754", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "label_standoff": 5, 
  "level": "annotation", 
  "location": "top_right", 
  "major_label_overrides": {
    "type": "map"
  }, 
  "major_label_policy": {
    "id": "p52755", 
    "name": "NoOverlap", 
    "type": "object"
  }, 
  "major_label_text_align": "left", 
  "major_label_text_alpha": 1.0, 
  "major_label_text_baseline": "bottom", 
  "major_label_text_color": "#444444", 
  "major_label_text_font": "helvetica", 
  "major_label_text_font_size": "11px", 
  "major_label_text_font_style": "normal", 
  "major_label_text_line_height": 1.2, 
  "major_label_text_outline_color": null, 
  "major_tick_in": 5, 
  "major_tick_line_alpha": 1.0, 
  "major_tick_line_cap": "butt", 
  "major_tick_line_color": "#ffffff", 
  "major_tick_line_dash": [], 
  "major_tick_line_dash_offset": 0, 
  "major_tick_line_join": "bevel", 
  "major_tick_line_width": 1, 
  "major_tick_out": 0, 
  "margin": 30, 
  "minor_tick_in": 0, 
  "minor_tick_line_alpha": 1.0, 
  "minor_tick_line_cap": "butt", 
  "minor_tick_line_color": null, 
  "minor_tick_line_dash": [], 
  "minor_tick_line_dash_offset": 0, 
  "minor_tick_line_join": "bevel", 
  "minor_tick_line_width": 1, 
  "minor_tick_out": 0, 
  "name": null, 
  "orientation": "auto", 
  "padding": 10, 
  "propagate_hover": false, 
  "renderers": [], 
  "scale_alpha": 1.0, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticker": "auto", 
  "title": null, 
  "title_standoff": 2, 
  "title_text_align": "left", 
  "title_text_alpha": 1.0, 
  "title_text_baseline": "bottom", 
  "title_text_color": "#444444", 
  "title_text_font": "helvetica", 
  "title_text_font_size": "13px", 
  "title_text_font_style": "italic", 
  "title_text_line_height": 1.2, 
  "title_text_outline_color": null, 
  "visible": true, 
  "width": "auto", 
  "x_range_name": "default", 
  "y_range_name": "default"
}
background_fill_alpha = 0.95#
Type:

Alpha

颜色条背景样式的填充透明度。

background_fill_color = '#ffffff'#
Type:

Nullable(Color)

颜色条背景样式的填充颜色。

bar_line_alpha = 1.0#
Type:

Alpha

颜色比例条轮廓的线条透明度。

bar_line_cap = 'butt'#
Type:

Enum(LineCap)

颜色比例条轮廓的线帽。

bar_line_color = None#
Type:

Nullable(Color)

颜色比例条轮廓的线条颜色。

bar_line_dash = []#
Type:

DashPattern

颜色比例条轮廓的虚线样式。

bar_line_dash_offset = 0#
Type:

Int

颜色比例条轮廓的虚线偏移量。

bar_line_join = 'bevel'#
Type:

Enum(LineJoin)

颜色比例条轮廓的线条连接。

bar_line_width = 1#
Type:

Float

颜色比例条轮廓的线宽。

border_line_alpha = 1.0#
Type:

Alpha

颜色条边框轮廓的线条透明度。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

颜色条边框轮廓的线帽。

border_line_color = None#
Type:

Nullable(Color)

颜色条边框轮廓的线条颜色。

border_line_dash = []#
Type:

DashPattern

颜色条边框轮廓的虚线样式。

border_line_dash_offset = 0#
Type:

Int

颜色条边框轮廓的虚线偏移量。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

颜色条边框轮廓的线条连接方式。

border_line_width = 1#
Type:

Float

颜色条边框轮廓的线宽。

color_mapper = Undefined#
Type:

Instance(ColorMapper)

一个包含要渲染的调色板的颜色映射器。

警告

如果ColorMapperlowhigh属性未设置,刻度 和刻度标签将不会被渲染。此外,如果将LogTicker传递给 ticker参数,并且color_mapper的lowhigh值的对数 中有一个或两个是非数字的(即low=0),刻度和刻度标签将不会被渲染。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

display_high = None#
Type:

Nullable(Float)

颜色条中显示的最高值。包含此值的整个颜色条目都会显示。

display_low = None#
Type:

Nullable(Float)

颜色条中显示的最低值。包含此值的整个颜色条目都会显示。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

formatter = 'auto'#
Type:

Either(Instance(TickFormatter), Auto)

用于格式化刻度视觉外观的TickFormatter

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

height = 'auto'#
Type:

Either(Auto, Int)

颜色比例应占用的高度(以像素为单位)。

label_standoff = 5#
Type:

Int

距离(以像素为单位)用于将刻度标签与颜色条分开。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

location = 'top_right'#
Type:

Either(Enum(Anchor), Tuple(Float, Float))

颜色条应该绘制的位置。它可以是bokeh.core.enums.Anchor枚举值之一,或者是一个(x, y)元组,表示屏幕坐标中的绝对位置(从左下角开始的像素距离)。

警告

如果颜色条放置在侧面板中,位置可能需要设置为 (0,0)

major_label_overrides = {}#
Type:

Dict(Either(Float, String), TextLike)

为特定的刻度位置提供明确的刻度标签值,这些值会覆盖正常的格式化。

major_label_policy = NoOverlap(id='p52818', ...)#
Type:

Instance(LabelingPolicy)

允许过滤掉标签,例如整理标签以避免重叠。

major_label_text_align = 'left'#
Type:

Enum(TextAlign)

主要刻度标签的文本对齐方式。

major_label_text_alpha = 1.0#
Type:

Alpha

主刻度标签的文本透明度。

major_label_text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

主要刻度标签的文本基线。

major_label_text_color = '#444444'#
Type:

Nullable(Color)

主要刻度标签的文本颜色。

major_label_text_font = 'helvetica'#
Type:

String

主要刻度标签的文本字体。

major_label_text_font_size = '11px'#
Type:

FontSize

主要刻度标签的文本字体大小。

major_label_text_font_style = 'normal'#
Type:

Enum(FontStyle)

主要刻度标签的文本字体样式。

major_label_text_line_height = 1.2#
Type:

Float

主要刻度标签的文本行高。

major_label_text_outline_color = None#
Type:

Nullable(Color)

主要刻度标签的文本轮廓颜色。

major_tick_in = 5#
Type:

Int

主要刻度线应延伸到主绘图区域的距离(以像素为单位)。

major_tick_line_alpha = 1.0#
Type:

Alpha

主刻度线的alpha值。

major_tick_line_cap = 'butt'#
Type:

Enum(LineCap)

主要刻度线的线帽。

major_tick_line_color = '#ffffff'#
Type:

Nullable(Color)

主要刻度线的线条颜色。

major_tick_line_dash = []#
Type:

DashPattern

主要刻度线的虚线样式。

major_tick_line_dash_offset = 0#
Type:

Int

主刻度线的虚线偏移量。

major_tick_line_join = 'bevel'#
Type:

Enum(LineJoin)

主刻度的线条连接。

major_tick_line_width = 1#
Type:

Float

主刻度线的线宽。

major_tick_out = 0#
Type:

Int

主要刻度线应延伸出主绘图区域的距离(以像素为单位)。

margin = 30#
Type:

Int

颜色条外部的边距量(以像素为单位)。

minor_tick_in = 0#
Type:

Int

次要刻度线应延伸到主绘图区域的距离(以像素为单位)。

minor_tick_line_alpha = 1.0#
Type:

Alpha

次要刻度线的alpha线。

minor_tick_line_cap = 'butt'#
Type:

Enum(LineCap)

次要刻度线的线帽。

minor_tick_line_color = None#
Type:

Nullable(Color)

次要刻度线的线条颜色。

minor_tick_line_dash = []#
Type:

DashPattern

次要刻度线的虚线样式。

minor_tick_line_dash_offset = 0#
Type:

Int

次要刻度线的虚线偏移量。

minor_tick_line_join = 'bevel'#
Type:

Enum(LineJoin)

次要刻度线的连接方式。

minor_tick_line_width = 1#
Type:

Float

次要刻度线的线宽。

minor_tick_out = 0#
Type:

Int

主要刻度线应延伸出主绘图区域的距离(以像素为单位)。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

orientation = 'auto'#
Type:

Either(Enum(Orientation), Auto)

颜色条应该是垂直还是水平方向。

padding = 10#
Type:

Int

颜色比例尺和颜色条边框之间的填充量(以像素为单位)。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

scale_alpha = 1.0#
Type:

Float

用于渲染颜色比例的alpha值。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticker = 'auto'#
Type:

Either(Instance(Ticker), Auto)

用于计算轴组件位置的Ticker。

title = None#
Type:

Nullable(TextLike)

要渲染的标题文本。

title_standoff = 2#
Type:

Int

距离(以像素为单位)用于将标题与颜色条分开。

title_text_align = 'left'#
Type:

Enum(TextAlign)

标题文本的文本对齐值。

title_text_alpha = 1.0#
Type:

Alpha

标题文本的文本alpha值。

title_text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

标题文本的文本基线值。

title_text_color = '#444444'#
Type:

Nullable(Color)

标题文本的文本颜色值。

title_text_font = 'helvetica'#
Type:

String

标题文本的字体值。

title_text_font_size = '13px'#
Type:

FontSize

标题文本的字体大小值。

title_text_font_style = 'italic'#
Type:

Enum(FontStyle)

标题文本的字体样式值。

title_text_line_height = 1.2#
Type:

Float

标题文本的行高值。

title_text_outline_color = None#
Type:

Nullable(Color)

标题文本的文本轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

width = 'auto'#
Type:

Either(Auto, Int)

颜色比例应占用的宽度(以像素为单位)。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ContourColorBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:BaseColorBar

用于等高线的颜色条。

支持显示等高线图可能具有的填充图案和线条样式,以及通常的填充样式。

不要手动创建这些对象,而是使用 ContourRenderer.color_bar

JSON Prototype
{
  "background_fill_alpha": 0.95, 
  "background_fill_color": "#ffffff", 
  "bar_line_alpha": 1.0, 
  "bar_line_cap": "butt", 
  "bar_line_color": null, 
  "bar_line_dash": [], 
  "bar_line_dash_offset": 0, 
  "bar_line_join": "bevel", 
  "bar_line_width": 1, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "fill_renderer": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "formatter": "auto", 
  "group": null, 
  "height": "auto", 
  "id": "p52927", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "label_standoff": 5, 
  "level": "annotation", 
  "levels": [], 
  "line_renderer": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "location": "top_right", 
  "major_label_overrides": {
    "type": "map"
  }, 
  "major_label_policy": {
    "id": "p52928", 
    "name": "NoOverlap", 
    "type": "object"
  }, 
  "major_label_text_align": "left", 
  "major_label_text_alpha": 1.0, 
  "major_label_text_baseline": "bottom", 
  "major_label_text_color": "#444444", 
  "major_label_text_font": "helvetica", 
  "major_label_text_font_size": "11px", 
  "major_label_text_font_style": "normal", 
  "major_label_text_line_height": 1.2, 
  "major_label_text_outline_color": null, 
  "major_tick_in": 5, 
  "major_tick_line_alpha": 1.0, 
  "major_tick_line_cap": "butt", 
  "major_tick_line_color": "#ffffff", 
  "major_tick_line_dash": [], 
  "major_tick_line_dash_offset": 0, 
  "major_tick_line_join": "bevel", 
  "major_tick_line_width": 1, 
  "major_tick_out": 0, 
  "margin": 30, 
  "minor_tick_in": 0, 
  "minor_tick_line_alpha": 1.0, 
  "minor_tick_line_cap": "butt", 
  "minor_tick_line_color": null, 
  "minor_tick_line_dash": [], 
  "minor_tick_line_dash_offset": 0, 
  "minor_tick_line_join": "bevel", 
  "minor_tick_line_width": 1, 
  "minor_tick_out": 0, 
  "name": null, 
  "orientation": "auto", 
  "padding": 10, 
  "propagate_hover": false, 
  "renderers": [], 
  "scale_alpha": 1.0, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticker": "auto", 
  "title": null, 
  "title_standoff": 2, 
  "title_text_align": "left", 
  "title_text_alpha": 1.0, 
  "title_text_baseline": "bottom", 
  "title_text_color": "#444444", 
  "title_text_font": "helvetica", 
  "title_text_font_size": "13px", 
  "title_text_font_style": "italic", 
  "title_text_line_height": 1.2, 
  "title_text_outline_color": null, 
  "visible": true, 
  "width": "auto", 
  "x_range_name": "default", 
  "y_range_name": "default"
}
background_fill_alpha = 0.95#
Type:

Alpha

颜色条背景样式的填充透明度。

background_fill_color = '#ffffff'#
Type:

Nullable(Color)

颜色条背景样式的填充颜色。

bar_line_alpha = 1.0#
Type:

Alpha

颜色比例条轮廓的线条透明度。

bar_line_cap = 'butt'#
Type:

Enum(LineCap)

颜色比例条轮廓的线帽。

bar_line_color = None#
Type:

Nullable(Color)

颜色比例条轮廓的线条颜色。

bar_line_dash = []#
Type:

DashPattern

颜色比例条轮廓的虚线样式。

bar_line_dash_offset = 0#
Type:

Int

颜色比例条轮廓的虚线偏移量。

bar_line_join = 'bevel'#
Type:

Enum(LineJoin)

颜色比例条轮廓的线条连接。

bar_line_width = 1#
Type:

Float

颜色比例条轮廓的线宽。

border_line_alpha = 1.0#
Type:

Alpha

颜色条边框轮廓的线条透明度。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

颜色条边框轮廓的线帽。

border_line_color = None#
Type:

Nullable(Color)

颜色条边框轮廓的线条颜色。

border_line_dash = []#
Type:

DashPattern

颜色条边框轮廓的虚线样式。

border_line_dash_offset = 0#
Type:

Int

颜色条边框轮廓的虚线偏移量。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

颜色条边框轮廓的线条连接方式。

border_line_width = 1#
Type:

Float

颜色条边框轮廓的线宽。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

fill_renderer = Undefined#
Type:

Instance(GlyphRenderer)

用于填充等高线多边形的字形渲染器。

formatter = 'auto'#
Type:

Either(Instance(TickFormatter), Auto)

用于格式化刻度视觉外观的TickFormatter

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

height = 'auto'#
Type:

Either(Auto, Int)

颜色比例应占用的高度(以像素为单位)。

label_standoff = 5#
Type:

Int

距离(以像素为单位)用于将刻度标签与颜色条分开。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

levels = []#
Type:

Seq(Float)

计算等高线的层级。

line_renderer = Undefined#
Type:

Instance(GlyphRenderer)

用于等高线的字形渲染器。

location = 'top_right'#
Type:

Either(Enum(Anchor), Tuple(Float, Float))

颜色条应该绘制的位置。它可以是bokeh.core.enums.Anchor枚举值之一,或者是一个(x, y)元组,表示屏幕坐标中的绝对位置(从左下角开始的像素距离)。

警告

如果颜色条放置在侧面板中,位置可能需要设置为 (0,0)

major_label_overrides = {}#
Type:

Dict(Either(Float, String), TextLike)

为特定的刻度位置提供明确的刻度标签值,这些值会覆盖正常的格式化。

major_label_policy = NoOverlap(id='p52991', ...)#
Type:

Instance(LabelingPolicy)

允许过滤掉标签,例如整理标签以避免重叠。

major_label_text_align = 'left'#
Type:

Enum(TextAlign)

主要刻度标签的文本对齐方式。

major_label_text_alpha = 1.0#
Type:

Alpha

主刻度标签的文本透明度。

major_label_text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

主要刻度标签的文本基线。

major_label_text_color = '#444444'#
Type:

Nullable(Color)

主要刻度标签的文本颜色。

major_label_text_font = 'helvetica'#
Type:

String

主要刻度标签的文本字体。

major_label_text_font_size = '11px'#
Type:

FontSize

主要刻度标签的文本字体大小。

major_label_text_font_style = 'normal'#
Type:

Enum(FontStyle)

主要刻度标签的文本字体样式。

major_label_text_line_height = 1.2#
Type:

Float

主要刻度标签的文本行高。

major_label_text_outline_color = None#
Type:

Nullable(Color)

主要刻度标签的文本轮廓颜色。

major_tick_in = 5#
Type:

Int

主要刻度线应延伸到主绘图区域的距离(以像素为单位)。

major_tick_line_alpha = 1.0#
Type:

Alpha

主刻度线的alpha值。

major_tick_line_cap = 'butt'#
Type:

Enum(LineCap)

主要刻度线的线帽。

major_tick_line_color = '#ffffff'#
Type:

Nullable(Color)

主要刻度线的线条颜色。

major_tick_line_dash = []#
Type:

DashPattern

主要刻度线的虚线样式。

major_tick_line_dash_offset = 0#
Type:

Int

主刻度线的虚线偏移量。

major_tick_line_join = 'bevel'#
Type:

Enum(LineJoin)

主刻度的线条连接。

major_tick_line_width = 1#
Type:

Float

主刻度线的线宽。

major_tick_out = 0#
Type:

Int

主要刻度线应延伸出主绘图区域的距离(以像素为单位)。

margin = 30#
Type:

Int

颜色条外部的边距量(以像素为单位)。

minor_tick_in = 0#
Type:

Int

次要刻度线应延伸到主绘图区域的距离(以像素为单位)。

minor_tick_line_alpha = 1.0#
Type:

Alpha

次要刻度线的alpha线。

minor_tick_line_cap = 'butt'#
Type:

Enum(LineCap)

次要刻度线的线帽。

minor_tick_line_color = None#
Type:

Nullable(Color)

次要刻度线的线条颜色。

minor_tick_line_dash = []#
Type:

DashPattern

次要刻度线的虚线样式。

minor_tick_line_dash_offset = 0#
Type:

Int

次要刻度线的虚线偏移量。

minor_tick_line_join = 'bevel'#
Type:

Enum(LineJoin)

次要刻度线的连接方式。

minor_tick_line_width = 1#
Type:

Float

次要刻度线的线宽。

minor_tick_out = 0#
Type:

Int

主要刻度线应延伸出主绘图区域的距离(以像素为单位)。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

orientation = 'auto'#
Type:

Either(Enum(Orientation), Auto)

颜色条应该是垂直还是水平方向。

padding = 10#
Type:

Int

颜色比例尺和颜色条边框之间的填充量(以像素为单位)。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

scale_alpha = 1.0#
Type:

Float

用于渲染颜色比例的alpha值。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticker = 'auto'#
Type:

Either(Instance(Ticker), Auto)

用于计算轴组件位置的Ticker。

title = None#
Type:

Nullable(TextLike)

要渲染的标题文本。

title_standoff = 2#
Type:

Int

距离(以像素为单位)用于将标题与颜色条分开。

title_text_align = 'left'#
Type:

Enum(TextAlign)

标题文本的文本对齐值。

title_text_alpha = 1.0#
Type:

Alpha

标题文本的文本alpha值。

title_text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

标题文本的文本基线值。

title_text_color = '#444444'#
Type:

Nullable(Color)

标题文本的文本颜色值。

title_text_font = 'helvetica'#
Type:

String

标题文本的字体值。

title_text_font_size = '13px'#
Type:

FontSize

标题文本的字体大小值。

title_text_font_style = 'italic'#
Type:

Enum(FontStyle)

标题文本的字体样式值。

title_text_line_height = 1.2#
Type:

Float

标题文本的行高值。

title_text_outline_color = None#
Type:

Nullable(Color)

标题文本的文本轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

width = 'auto'#
Type:

Either(Auto, Int)

颜色比例应占用的宽度(以像素为单位)。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class HTMLAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类: Annotation

基于HTML的注释的基类。

注意

所有继承自此基类的注释都可以附加到画布上,但不会渲染到画布上,因此它们不会出现在保存的图表中。只有export_png()函数可以保留HTML注释。

注意

这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。

JSON Prototype
{
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p53100", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class HTMLLabel(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:HTMLTextAnnotation

将单个HTML标签渲染为注释。

Label 将在给定的 xy 坐标处渲染单个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。

标签也可以通过使用x_offsety_offset属性来配置与xy的屏幕空间偏移。

此外,标签可以通过angle属性进行旋转。

还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。

请参阅Labels以获取关于绘制标签的信息。

JSON Prototype
{
  "angle": 0, 
  "angle_units": "rad", 
  "background_fill_alpha": 1.0, 
  "background_fill_color": null, 
  "background_hatch_alpha": 1.0, 
  "background_hatch_color": null, 
  "background_hatch_extra": {
    "type": "map"
  }, 
  "background_hatch_pattern": null, 
  "background_hatch_scale": 12.0, 
  "background_hatch_weight": 1.0, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "border_radius": 0, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p53117", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "padding": 0, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": "", 
  "text_align": "left", 
  "text_alpha": 1.0, 
  "text_baseline": "bottom", 
  "text_color": "#444444", 
  "text_font": "helvetica", 
  "text_font_size": "16px", 
  "text_font_style": "normal", 
  "text_line_height": 1.2, 
  "text_outline_color": null, 
  "visible": true, 
  "x": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "x_offset": 0, 
  "x_range_name": "default", 
  "x_units": "data", 
  "y": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "y_offset": 0, 
  "y_range_name": "default", 
  "y_units": "data"
}
angle = 0#
Type:

Angle

文本旋转的角度,从水平方向测量。

angle_units = 'rad'#
Type:

Enum(AngleUnits)

可接受的单位值为 "rad""deg"

background_fill_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_fill_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_hatch_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

文本边界框的额外填充值。

background_hatch_pattern = None#
Type:

Nullable(String)

文本边界框的填充图案值。

background_hatch_scale = 12.0#
Type:

Size

文本边界框的阴影比例值。

background_hatch_weight = 1.0#
Type:

Size

文本边界框的填充权重值。

border_line_alpha = 1.0#
Type:

Alpha

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

文本边界框的线帽值。

border_line_color = None#
Type:

Nullable(Color)

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPattern

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

Int

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

文本边界框的线条连接值。

border_line_width = 1#
Type:

Float

文本边界框的线条宽度值。

border_radius = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

允许标签的盒子具有圆角。为了获得最佳效果,它应与 padding 结合使用。

注意

此属性是实验性的,可能会随时更改。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

padding = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative), Struct, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

标签文本与其边界框(边框)之间的额外空间。

注意

此属性是实验性的,可能会随时更改。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = ''#
Type:

String

要渲染的文本值。

text_align = 'left'#
Type:

Enum(TextAlign)

文本的对齐值。

text_alpha = 1.0#
Type:

Alpha

文本的alpha值。

text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

文本的基线值。

text_color = '#444444'#
Type:

Nullable(Color)

文本的颜色值。

text_font = 'helvetica'#
Type:

String

文本的字体值。

text_font_size = '16px'#
Type:

FontSize

文本的字体大小值。

text_font_style = 'normal'#
Type:

Enum(FontStyle)

文本的字体样式值。

text_line_height = 1.2#
Type:

Float

文本的行高值。

text_outline_color = None#
Type:

Nullable(Color)

文本的轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

x = Undefined#
Type:

Required(Either(Float, Datetime, Factor))

在屏幕坐标中定位文本锚点的x坐标。

x_offset = 0#
Type:

Float

应用于x坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

x_units = 'data'#
Type:

Enum(CoordinateUnits)

x属性的单位类型。默认情况下解释为数据单位

y = Undefined#
Type:

Required(Either(Float, Datetime, Factor))

屏幕坐标中的y坐标,用于定位文本锚点。

y_offset = 0#
Type:

Float

应用于y坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定距离的屏幕单位

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

y_units = 'data'#
Type:

Enum(CoordinateUnits)

y属性的单位类型。默认情况下解释为数据单位

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class HTMLLabelSet(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:HTMLAnnotation, DataAnnotation

将多个文本标签渲染为注释。

LabelSet 将在给定的 xy 坐标处渲染多个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。在这种情况下(与单个 Label 模型不同),xy 也可以是来自 ColumnDataSource 的列名,在这种情况下,标签将使用指定列中的坐标值进行“向量化”。

标签也可以通过使用x_offsety_offset属性来配置与xy的屏幕空间偏移。这些偏移可以通过提供数据源列的名称来进行矢量化。

此外,标签可以通过angle属性(也可以是列名)进行旋转。

还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。

数据源通过设置source属性来提供。

JSON Prototype
{
  "angle": {
    "type": "value", 
    "value": 0
  }, 
  "background_fill_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "background_fill_color": {
    "type": "value", 
    "value": null
  }, 
  "border_line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "border_line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "border_line_color": {
    "type": "value", 
    "value": null
  }, 
  "border_line_dash": {
    "type": "value", 
    "value": []
  }, 
  "border_line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "border_line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "border_line_width": {
    "type": "value", 
    "value": 1
  }, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p53169", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "source": {
    "attributes": {
      "data": {
        "type": "map"
      }, 
      "selected": {
        "attributes": {
          "indices": [], 
          "line_indices": []
        }, 
        "id": "p53171", 
        "name": "Selection", 
        "type": "object"
      }, 
      "selection_policy": {
        "id": "p53172", 
        "name": "UnionRenderers", 
        "type": "object"
      }
    }, 
    "id": "p53170", 
    "name": "ColumnDataSource", 
    "type": "object"
  }, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": {
    "field": "text", 
    "type": "field"
  }, 
  "text_align": {
    "type": "value", 
    "value": "left"
  }, 
  "text_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "text_baseline": {
    "type": "value", 
    "value": "bottom"
  }, 
  "text_color": {
    "type": "value", 
    "value": "#444444"
  }, 
  "text_font": {
    "type": "value", 
    "value": "helvetica"
  }, 
  "text_font_size": {
    "type": "value", 
    "value": "16px"
  }, 
  "text_font_style": {
    "type": "value", 
    "value": "normal"
  }, 
  "text_line_height": {
    "type": "value", 
    "value": 1.2
  }, 
  "text_outline_color": {
    "type": "value", 
    "value": null
  }, 
  "visible": true, 
  "x": {
    "field": "x", 
    "type": "field"
  }, 
  "x_offset": {
    "type": "value", 
    "value": 0
  }, 
  "x_range_name": "default", 
  "x_units": "data", 
  "y": {
    "field": "y", 
    "type": "field"
  }, 
  "y_offset": {
    "type": "value", 
    "value": 0
  }, 
  "y_range_name": "default", 
  "y_units": "data"
}
angle = 0#
Type:

AngleSpec

文本旋转的角度,从水平方向测量。

angle_units = 'rad'#
Type:

NotSerialized(Enum(AngleUnits))

用于关联属性的单位:度、弧度、梯度或圈

background_fill_alpha = 1.0#
Type:

AlphaSpec

文本边界框的填充透明度值。

background_fill_color = None#
Type:

ColorSpec

文本边界框的填充颜色值。

border_line_alpha = 1.0#
Type:

AlphaSpec

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

LineCapSpec

文本边界框的线帽值。

border_line_color = None#
Type:

ColorSpec

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPatternSpec

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

IntSpec

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

LineJoinSpec

文本边界框的线条连接值。

border_line_width = 1#
Type:

NumberSpec

文本边界框的线条宽度值。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

source = ColumnDataSource(id='p53257', ...)#
Type:

Instance(DataSource)

在图表上渲染注释时使用的本地数据源。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = Field(field='text', transform=Unspecified, units=Unspecified)#
Type:

NullStringSpec

要渲染的文本值。

text_align = 'left'#
Type:

TextAlignSpec

文本的对齐值。

text_alpha = 1.0#
Type:

AlphaSpec

文本的alpha值。

text_baseline = 'bottom'#
Type:

TextBaselineSpec

文本的基线值。

text_color = '#444444'#
Type:

ColorSpec

文本的颜色值。

text_font = Value(value='helvetica', transform=Unspecified, units=Unspecified)#
Type:

StringSpec

文本的字体值。

text_font_size = Value(value='16px', transform=Unspecified, units=Unspecified)#
Type:

FontSizeSpec

文本的字体大小值。

text_font_style = 'normal'#
Type:

FontStyleSpec

文本的字体样式值。

text_line_height = 1.2#
Type:

NumberSpec

文本的行高值。

text_outline_color = None#
Type:

ColorSpec

文本的轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

x = Field(field='x', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位文本锚点的x坐标。

x_offset = 0#
Type:

NumberSpec

应用于x坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

x_units = 'data'#
Type:

Enum(CoordinateUnits)

xs 属性的单位类型。默认情况下解释为 数据单位

y = Field(field='y', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位文本锚点的y坐标。

y_offset = 0#
Type:

NumberSpec

应用于y坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

y_units = 'data'#
Type:

Enum(CoordinateUnits)

ys 属性的单位类型。默认情况下解释为 数据单位

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class HTMLTitle(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:HTMLTextAnnotation

渲染单个标题框作为注释。

请参阅Titles以获取关于绘制标题的信息。

JSON Prototype
{
  "align": "left", 
  "background_fill_alpha": 1.0, 
  "background_fill_color": null, 
  "background_hatch_alpha": 1.0, 
  "background_hatch_color": null, 
  "background_hatch_extra": {
    "type": "map"
  }, 
  "background_hatch_pattern": null, 
  "background_hatch_scale": 12.0, 
  "background_hatch_weight": 1.0, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "border_radius": 0, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p53352", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "offset": 0, 
  "padding": 0, 
  "propagate_hover": false, 
  "renderers": [], 
  "standoff": 10, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": "", 
  "text_alpha": 1.0, 
  "text_color": "#444444", 
  "text_font": "helvetica", 
  "text_font_size": "13px", 
  "text_font_style": "bold", 
  "text_line_height": 1.0, 
  "text_outline_color": null, 
  "vertical_align": "bottom", 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
align = 'left'#
Type:

Enum(TextAlign)

文本在其封闭空间中的对齐方式,沿着文本的方向。

background_fill_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_fill_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_hatch_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

文本边界框的额外填充值。

background_hatch_pattern = None#
Type:

Nullable(String)

文本边界框的填充图案值。

background_hatch_scale = 12.0#
Type:

Size

文本边界框的阴影比例值。

background_hatch_weight = 1.0#
Type:

Size

文本边界框的填充权重值。

border_line_alpha = 1.0#
Type:

Alpha

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

文本边界框的线帽值。

border_line_color = None#
Type:

Nullable(Color)

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPattern

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

Int

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

文本边界框的线条连接值。

border_line_width = 1#
Type:

Float

文本边界框的线条宽度值。

border_radius = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

允许标签的盒子具有圆角。为了获得最佳效果,它应与 padding 结合使用。

注意

此属性是实验性的,可能会随时更改。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

offset = 0#
Type:

Float

将文本偏移一定数量的像素(可以是正数或负数)。根据标题的位置,文本会向不同的方向移动:

  • 上方:将标题向右移动

  • right: 将标题向下移动

  • 下方:将标题向右移动

  • 左:将标题上移

padding = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative), Struct, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

标签文本与其边界框(边框)之间的额外空间。

注意

此属性是实验性的,可能会随时更改。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

standoff = 10#
Type:

Float

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = ''#
Type:

String

要渲染的文本值。

text_alpha = 1.0#
Type:

Alpha

用于填充文本的alpha值。

可接受的值为0到1之间的浮点数(0表示透明,1表示不透明)。

text_color = '#444444'#
Type:

Color

用于填充文本的颜色。

可接受的值有:

  • 任何命名的CSS颜色,例如 'green', 'indigo'

  • RGB(A) 十六进制字符串,例如 '#FF0000', '#44444444'

  • CSS4 颜色字符串,例如 'rgba(255, 0, 127, 0.6)', 'rgb(0 127 0 / 1.0)', 或 'hsl(60deg 100% 50% / 1.0)'

  • 一个由0到255之间的整数组成的三元组 (r, g, b)

  • 一个四元组 (r, g, b, a),其中 r, g, b 是介于 0 和 255 之间的整数,a 是介于 0 和 1 之间的数

  • 使用0xRRGGBBAA字节顺序模式的32位无符号整数

text_font = 'helvetica'#
Type:

String

用于渲染文本的字体名称,例如,'times', 'helvetica'

text_font_style = 'bold'#
Type:

Enum(FontStyle)

用于渲染文本的样式。

可接受的值有:

  • 'normal' 普通文本

  • 'italic' 斜体文本

  • 'bold' 粗体文本

text_line_height = 1.0#
Type:

Float

应该为标题分配多少额外的空间。该值以数字形式提供,但应视为字体大小的百分比。默认值为100%,这意味着不会使用额外的空间。

text_outline_color = None#
Type:

Nullable(Color)

用于填充文本的颜色。

vertical_align = 'bottom'#
Type:

Enum(VerticalAlign)

文本在其封闭空间中的对齐方式,跨越文本的方向。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ImperialLength(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:CustomDimensional

英制长度测量单位。

JSON Prototype
{
  "basis": {
    "entries": [
      [
        "in", 
        [
          0.08333333333333333, 
          "in", 
          "inch"
        ]
      ], 
      [
        "ft", 
        [
          1, 
          "ft", 
          "foot"
        ]
      ], 
      [
        "yd", 
        [
          3, 
          "yd", 
          "yard"
        ]
      ], 
      [
        "ch", 
        [
          66, 
          "ch", 
          "chain"
        ]
      ], 
      [
        "fur", 
        [
          660, 
          "fur", 
          "furlong"
        ]
      ], 
      [
        "mi", 
        [
          5280, 
          "mi", 
          "mile"
        ]
      ], 
      [
        "lea", 
        [
          15840, 
          "lea", 
          "league"
        ]
      ]
    ], 
    "type": "map"
  }, 
  "exclude": [], 
  "id": "p53397", 
  "include": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticks": [
    1, 
    3, 
    6, 
    12, 
    60
  ]
}
basis = {'in': (0.08333333333333333, 'in', 'inch'), 'ft': (1, 'ft', 'foot'), 'yd': (3, 'yd', 'yard'), 'ch': (66, 'ch', 'chain'), 'fur': (660, 'fur', 'furlong'), 'mi': (5280, 'mi', 'mile'), 'lea': (15840, 'lea', 'league')}#
Type:

Required(Dict(String, Either(Tuple(Float, String), Tuple(Float, String, String))))

定义测量单位的基础。

这包括短单位名称与其对应的缩放因子、TeX名称和可选的完整名称之间的映射。例如,定义角度测量单位的基础是:

basis = {
    "°":  (1,      "^\circ",           "degree"),
    "'":  (1/60,   "^\prime",          "minute"),
    "''": (1/3600, "^{\prime\prime}", "second"),
}
exclude = []#
Type:

List

从基础中要避免的单位子集。

include = None#
Type:

Nullable(List)

从基础中选择的首选单位的可选子集。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticks = [1, 3, 6, 12, 60]#
Type:

Required(List)

在非精确模式下选择的首选值。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Label(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类: TextAnnotation

将单个文本标签渲染为注释。

Label 将在给定的 xy 坐标处渲染单个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。

标签也可以通过使用x_offsety_offset属性来配置与xy的屏幕空间偏移。

此外,标签可以通过angle属性进行旋转。

还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。

请参阅Labels以获取关于绘制标签的信息。

JSON Prototype
{
  "anchor": "auto", 
  "angle": 0, 
  "angle_units": "rad", 
  "background_fill_alpha": 1.0, 
  "background_fill_color": null, 
  "background_hatch_alpha": 1.0, 
  "background_hatch_color": null, 
  "background_hatch_extra": {
    "type": "map"
  }, 
  "background_hatch_pattern": null, 
  "background_hatch_scale": 12.0, 
  "background_hatch_weight": 1.0, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "border_radius": 0, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "direction": "anticlock", 
  "editable": false, 
  "elements": [], 
  "group": null, 
  "id": "p53405", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "padding": 0, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": "", 
  "text_align": "left", 
  "text_alpha": 1.0, 
  "text_baseline": "bottom", 
  "text_color": "#444444", 
  "text_font": "helvetica", 
  "text_font_size": "16px", 
  "text_font_style": "normal", 
  "text_line_height": 1.2, 
  "text_outline_color": null, 
  "visible": true, 
  "x": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "x_offset": 0, 
  "x_range_name": "default", 
  "x_units": "data", 
  "y": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "y_offset": 0, 
  "y_range_name": "default", 
  "y_units": "data"
}
anchor = 'auto'#
Type:

Either(Either(Enum(Anchor), Tuple(Either(Enum(Align), Enum(HAlign), Percent), Either(Enum(Align), Enum(VAlign), Percent))), Auto)

标签文本边界框内的位置,xy 坐标锚定到该位置。

注意

此属性是实验性的,可能会随时更改。

angle = 0#
Type:

Angle

文本旋转的角度,从水平方向测量。

angle_units = 'rad'#
Type:

Enum(AngleUnits)

可接受的单位值为 "rad""deg"

background_fill_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_fill_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_hatch_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

文本边界框的额外填充值。

background_hatch_pattern = None#
Type:

Nullable(String)

文本边界框的填充图案值。

background_hatch_scale = 12.0#
Type:

Size

文本边界框的阴影比例值。

background_hatch_weight = 1.0#
Type:

Size

文本边界框的填充权重值。

border_line_alpha = 1.0#
Type:

Alpha

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

文本边界框的线帽值。

border_line_color = None#
Type:

Nullable(Color)

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPattern

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

Int

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

文本边界框的线条连接值。

border_line_width = 1#
Type:

Float

文本边界框的线条宽度值。

border_radius = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

允许标签的盒子具有圆角。为了获得最佳效果,它应与 padding 结合使用。

注意

此属性是实验性的,可能会随时更改。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

direction = 'anticlock'#
Type:

Enum(Direction)

标签角度的方向。

注意

此属性是实验性的,可能会随时更改。

editable = False#
Type:

Bool

允许交互式修改此标签的几何形状。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

padding = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative), Struct, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

标签文本与其边界框(边框)之间的额外空间。

注意

此属性是实验性的,可能会随时更改。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = ''#
Type:

TextLike

要渲染的文本或LaTeX符号。

text_align = 'left'#
Type:

Enum(TextAlign)

文本的对齐值。

text_alpha = 1.0#
Type:

Alpha

文本的alpha值。

text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

文本的基线值。

text_color = '#444444'#
Type:

Nullable(Color)

文本的颜色值。

text_font = 'helvetica'#
Type:

String

文本的字体值。

text_font_size = '16px'#
Type:

FontSize

文本的字体大小值。

text_font_style = 'normal'#
Type:

Enum(FontStyle)

文本的字体样式值。

text_line_height = 1.2#
Type:

Float

文本的行高值。

text_outline_color = None#
Type:

Nullable(Color)

文本的轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

x = Undefined#
Type:

Required(Either(Either(Float, Datetime, Factor), Instance(Node)))

在屏幕坐标中定位文本锚点的x坐标。

x_offset = 0#
Type:

Float

应用于x坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

x_units = 'data'#
Type:

Enum(CoordinateUnits)

x属性的单位类型。默认情况下解释为数据单位。如果x是一个节点,则没有任何效果。

y = Undefined#
Type:

Required(Either(Either(Float, Datetime, Factor), Instance(Node)))

屏幕坐标中的y坐标,用于定位文本锚点。

y_offset = 0#
Type:

Float

应用于y坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

y_units = 'data'#
Type:

Enum(CoordinateUnits)

y属性的单位类型。默认情况下解释为数据单位。如果y是一个节点,则此属性没有任何效果。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class LabelSet(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:DataAnnotation

将多个文本标签渲染为注释。

LabelSet 将在给定的 xy 坐标处渲染多个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。在这种情况下(与单个 Label 模型不同),xy 也可以是来自 ColumnDataSource 的列名,在这种情况下,标签将使用指定列中的坐标值进行“向量化”。

标签也可以通过使用x_offsety_offset属性来配置与xy的屏幕空间偏移。这些偏移可以通过提供数据源列的名称来进行矢量化。

此外,标签可以通过angle属性(也可以是列名)进行旋转。

还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。

数据源通过设置source属性来提供。

JSON Prototype
{
  "angle": {
    "type": "value", 
    "value": 0
  }, 
  "background_fill_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "background_fill_color": {
    "type": "value", 
    "value": null
  }, 
  "border_line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "border_line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "border_line_color": {
    "type": "value", 
    "value": null
  }, 
  "border_line_dash": {
    "type": "value", 
    "value": []
  }, 
  "border_line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "border_line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "border_line_width": {
    "type": "value", 
    "value": 1
  }, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p53460", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "source": {
    "attributes": {
      "data": {
        "type": "map"
      }, 
      "selected": {
        "attributes": {
          "indices": [], 
          "line_indices": []
        }, 
        "id": "p53462", 
        "name": "Selection", 
        "type": "object"
      }, 
      "selection_policy": {
        "id": "p53463", 
        "name": "UnionRenderers", 
        "type": "object"
      }
    }, 
    "id": "p53461", 
    "name": "ColumnDataSource", 
    "type": "object"
  }, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": {
    "field": "text", 
    "type": "field"
  }, 
  "text_align": {
    "type": "value", 
    "value": "left"
  }, 
  "text_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "text_baseline": {
    "type": "value", 
    "value": "bottom"
  }, 
  "text_color": {
    "type": "value", 
    "value": "#444444"
  }, 
  "text_font": {
    "type": "value", 
    "value": "helvetica"
  }, 
  "text_font_size": {
    "type": "value", 
    "value": "16px"
  }, 
  "text_font_style": {
    "type": "value", 
    "value": "normal"
  }, 
  "text_line_height": {
    "type": "value", 
    "value": 1.2
  }, 
  "text_outline_color": {
    "type": "value", 
    "value": null
  }, 
  "visible": true, 
  "x": {
    "field": "x", 
    "type": "field"
  }, 
  "x_offset": {
    "type": "value", 
    "value": 0
  }, 
  "x_range_name": "default", 
  "x_units": "data", 
  "y": {
    "field": "y", 
    "type": "field"
  }, 
  "y_offset": {
    "type": "value", 
    "value": 0
  }, 
  "y_range_name": "default", 
  "y_units": "data"
}
angle = 0#
Type:

AngleSpec

文本旋转的角度,从水平方向测量。

angle_units = 'rad'#
Type:

NotSerialized(Enum(AngleUnits))

用于关联属性的单位:度、弧度、梯度或圈

background_fill_alpha = 1.0#
Type:

AlphaSpec

文本边界框的填充透明度值。

background_fill_color = None#
Type:

ColorSpec

文本边界框的填充颜色值。

border_line_alpha = 1.0#
Type:

AlphaSpec

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

LineCapSpec

文本边界框的线帽值。

border_line_color = None#
Type:

ColorSpec

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPatternSpec

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

IntSpec

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

LineJoinSpec

文本边界框的线条连接值。

border_line_width = 1#
Type:

NumberSpec

文本边界框的线条宽度值。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

source = ColumnDataSource(id='p53548', ...)#
Type:

Instance(DataSource)

在图表上渲染注释时使用的本地数据源。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = Field(field='text', transform=Unspecified, units=Unspecified)#
Type:

NullStringSpec

要渲染的文本值。

text_align = 'left'#
Type:

TextAlignSpec

文本的对齐值。

text_alpha = 1.0#
Type:

AlphaSpec

文本的alpha值。

text_baseline = 'bottom'#
Type:

TextBaselineSpec

文本的基线值。

text_color = '#444444'#
Type:

ColorSpec

文本的颜色值。

text_font = Value(value='helvetica', transform=Unspecified, units=Unspecified)#
Type:

StringSpec

文本的字体值。

text_font_size = Value(value='16px', transform=Unspecified, units=Unspecified)#
Type:

FontSizeSpec

文本的字体大小值。

text_font_style = 'normal'#
Type:

FontStyleSpec

文本的字体样式值。

text_line_height = 1.2#
Type:

NumberSpec

文本的行高值。

text_outline_color = None#
Type:

ColorSpec

文本的轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

x = Field(field='x', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位文本锚点的x坐标。

x_offset = 0#
Type:

NumberSpec

应用于x坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

x_units = 'data'#
Type:

Enum(CoordinateUnits)

xs 属性的单位类型。默认情况下解释为 数据单位

y = Field(field='y', transform=Unspecified, units=Unspecified)#
Type:

NumberSpec

用于定位文本锚点的y坐标。

y_offset = 0#
Type:

NumberSpec

应用于y坐标的偏移值。

这很有用,例如,如果希望将文本“浮动”到与给定数据位置固定的屏幕单位距离。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

y_units = 'data'#
Type:

Enum(CoordinateUnits)

ys 属性的单位类型。默认情况下解释为 数据单位

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Legend(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: Annotation

为图表渲染信息图例。

请参阅Legends以获取关于绘制图例的信息。

JSON Prototype
{
  "background_fill_alpha": 0.95, 
  "background_fill_color": "#ffffff", 
  "border_line_alpha": 0.5, 
  "border_line_cap": "butt", 
  "border_line_color": "#e5e5e5", 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "click_policy": "none", 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "glyph_height": 20, 
  "glyph_width": 20, 
  "group": null, 
  "id": "p53643", 
  "inactive_fill_alpha": 0.7, 
  "inactive_fill_color": "white", 
  "item_background_fill_alpha": 0.8, 
  "item_background_fill_color": "#f1f1f1", 
  "item_background_policy": "none", 
  "items": [], 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "label_height": 20, 
  "label_standoff": 5, 
  "label_text_align": "left", 
  "label_text_alpha": 1.0, 
  "label_text_baseline": "middle", 
  "label_text_color": "#444444", 
  "label_text_font": "helvetica", 
  "label_text_font_size": "13px", 
  "label_text_font_style": "normal", 
  "label_text_line_height": 1.2, 
  "label_text_outline_color": null, 
  "label_width": 20, 
  "level": "annotation", 
  "location": "top_right", 
  "margin": 10, 
  "name": null, 
  "ncols": "auto", 
  "nrows": "auto", 
  "orientation": "vertical", 
  "padding": 10, 
  "propagate_hover": false, 
  "renderers": [], 
  "spacing": 3, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "title": null, 
  "title_location": "above", 
  "title_standoff": 5, 
  "title_text_align": "left", 
  "title_text_alpha": 1.0, 
  "title_text_baseline": "bottom", 
  "title_text_color": "#444444", 
  "title_text_font": "helvetica", 
  "title_text_font_size": "13px", 
  "title_text_font_style": "italic", 
  "title_text_line_height": 1.2, 
  "title_text_outline_color": null, 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
background_fill_alpha = 0.95#
Type:

Alpha

图例背景样式的填充透明度。

background_fill_color = '#ffffff'#
Type:

Nullable(Color)

图例背景样式的填充颜色。

border_line_alpha = 0.5#
Type:

Alpha

图例边框轮廓的线条透明度。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

图例边框轮廓的线帽。

border_line_color = '#e5e5e5'#
Type:

Nullable(Color)

图例边框轮廓的线条颜色。

border_line_dash = []#
Type:

DashPattern

图例边框轮廓的虚线样式。

border_line_dash_offset = 0#
Type:

Int

图例边框轮廓的虚线偏移量。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

图例边框轮廓的线条连接方式。

border_line_width = 1#
Type:

Float

图例边框轮廓的线宽。

click_policy = 'none'#
Type:

Enum(LegendClickPolicy)

定义当图例项被点击时会发生什么。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

glyph_height = 20#
Type:

Int

渲染的图例符号应占用的高度(以像素为单位)。

glyph_width = 20#
Type:

Int

渲染的图例字形应占用的宽度(以像素为单位)。

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

inactive_fill_alpha = 0.7#
Type:

Alpha

当图例项样式处于非活动状态时的填充透明度。这些控制了一个覆盖层,当相应的字形处于非活动状态时(例如通过使其半透明),可以用来模糊它。

inactive_fill_color = 'white'#
Type:

Nullable(Color)

当图例项样式处于非活动状态时的填充颜色。这些控制了一个覆盖层,可以在相应的字形处于非活动状态时(例如通过使其半透明)用于遮挡该项。

item_background_fill_alpha = 0.8#
Type:

Alpha

图例项背景样式的填充透明度。

item_background_fill_color = '#f1f1f1'#
Type:

Nullable(Color)

图例项背景样式的填充颜色。

item_background_policy = 'none'#
Type:

Enum(AlternationPolicy)

定义要设置样式的项目,如果配置了item_background_fill

items = []#
Type:

List

要在图例中渲染的LegendItem实例列表。

这可以明确指定,例如:

legend = Legend(items=[
    LegendItem(label="sin(x)",   renderers=[r0, r1]),
    LegendItem(label="2*sin(x)", renderers=[r2]),
    LegendItem(label="3*sin(x)", renderers=[r3, r4])
])

但为了方便起见,也可以更紧凑地作为元组列表给出:

legend = Legend(items=[
    ("sin(x)",   [r0, r1]),
    ("2*sin(x)", [r2]),
    ("3*sin(x)", [r3, r4])
])

其中每个元组的形式为:(label, renderers)

label_height = 20#
Type:

Int

图例标签应占据区域的最小高度(以像素为单位)。

label_standoff = 5#
Type:

Int

标签与其相关字形之间的距离(以像素为单位)。

label_text_align = 'left'#
Type:

Enum(TextAlign)

图例标签的文本对齐方式。

label_text_alpha = 1.0#
Type:

Alpha

图例标签的文本透明度。

label_text_baseline = 'middle'#
Type:

Enum(TextBaseline)

图例标签的文本基线。

label_text_color = '#444444'#
Type:

Nullable(Color)

图例标签的文本颜色。

label_text_font = 'helvetica'#
Type:

String

图例标签的文本字体。

label_text_font_size = '13px'#
Type:

FontSize

图例标签的文本字体大小。

label_text_font_style = 'normal'#
Type:

Enum(FontStyle)

图例标签的文本字体样式。

label_text_line_height = 1.2#
Type:

Float

图例标签的文本行高。

label_text_outline_color = None#
Type:

Nullable(Color)

图例标签的文本轮廓颜色。

label_width = 20#
Type:

Int

图例标签应占据区域的最小宽度(以像素为单位)。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

location = 'top_right'#
Type:

Either(Enum(Anchor), Tuple(Float, Float))

图例应该绘制的位置。它可以是 LegendLocation 的枚举值之一,或者是一个 (x, y) 元组,表示屏幕坐标中的绝对位置(从左下角开始的像素距离)。

margin = 10#
Type:

Int

图例周围的边距量。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

ncols = 'auto'#
Type:

Either(Positive, Auto)

图例布局中的列数。默认情况下,如果方向是垂直的,则为一列,否则为图例中的项目数。ncols在水平方向上优先于nrows

nrows = 'auto'#
Type:

Either(Positive, Auto)

图例布局中的行数。默认情况下,如果方向是水平的,则为一行,否则为图例中的项目数。nrows在垂直方向上优先于ncols

orientation = 'vertical'#
Type:

Enum(Orientation)

图例条目在绘制时应该垂直放置还是水平放置。

padding = 10#
Type:

Int

图例内容周围的填充量。仅在边框可见时适用,否则会折叠为0。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

spacing = 3#
Type:

Int

图例条目之间的间距量(以像素为单位)。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

title = None#
Type:

Nullable(String)

要渲染的标题文本。

title_location = 'above'#
Type:

Enum(Location)

指定标题将位于图例的哪一侧。 左侧或右侧的标题将相应旋转。

title_standoff = 5#
Type:

Int

标题与图例之间的距离(以像素为单位)。

title_text_align = 'left'#
Type:

Enum(TextAlign)

标题文本的文本对齐值。

title_text_alpha = 1.0#
Type:

Alpha

标题文本的文本alpha值。

title_text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

标题文本的文本基线值。

title_text_color = '#444444'#
Type:

Nullable(Color)

标题文本的文本颜色值。

title_text_font = 'helvetica'#
Type:

String

标题文本的字体值。

title_text_font_size = '13px'#
Type:

FontSize

标题文本的字体大小值。

title_text_font_style = 'italic'#
Type:

Enum(FontStyle)

标题文本的字体样式值。

title_text_line_height = 1.2#
Type:

Float

标题文本的行高值。

title_text_outline_color = None#
Type:

Nullable(Color)

标题文本的文本轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
js_on_click(handler: JsEventCallback) None[source]#

为图例项点击设置一个JavaScript处理程序。

classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_click(handler: PyEventCallback) None[source]#

为图例项点击设置一个处理程序。

on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class LegendItem(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:Model

JSON Prototype
{
  "id": "p53709", 
  "index": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "label": {
    "type": "value", 
    "value": null
  }, 
  "name": null, 
  "renderers": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true
}
index = None#
Type:

Nullable(Int)

用于绘制代表项目的列数据索引。

如果为None(默认值),则Bokeh会自动选择一个索引来使用。如果标签不引用数据列名,这通常是数据源中的第一个数据点。否则,如果标签确实引用列名,图例将具有“groupby”行为,并将从列中的每个“组”中选择并显示代表性点。

如果设置为一个数字,Bokeh 将在所有情况下使用该数字作为索引。

label = None#
Type:

NullStringSpec

此图例的标签。可以是一个字符串,或者是ColumnDataSource的一列。如果label是一个字段,那么它必须在渲染器的数据源中。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

renderers = []#
Type:

List

要在图例中绘制的字形渲染器列表。如果label是一个字段,则所有渲染器的数据源必须相同。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

是否应显示图例项。请参阅用户指南中的 隐藏图例项

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Metric(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:Dimensional

用于定义度量单位的模型。

JSON Prototype
{
  "base_unit": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "exclude": [], 
  "full_unit": null, 
  "id": "p53717", 
  "include": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticks": [
    1, 
    2, 
    5, 
    10, 
    15, 
    20, 
    25, 
    50, 
    75, 
    100, 
    125, 
    150, 
    200, 
    250, 
    500, 
    750
  ]
}
base_unit = Undefined#
Type:

Required(String)

基本单位的简称,例如"m"表示米,"eV"表示电子伏特。

exclude = []#
Type:

List

从基础中要避免的单位子集。

full_unit = None#
Type:

Nullable(String)

基本单位的全称,例如 "meter""electronvolt"

include = None#
Type:

Nullable(List)

从基础中选择的首选单位的可选子集。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
Type:

Required(List)

在非精确模式下选择的首选值。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class MetricLength(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:Metric

长度测量的公制单位。

JSON Prototype
{
  "base_unit": "m", 
  "exclude": [
    "dm", 
    "hm"
  ], 
  "full_unit": null, 
  "id": "p53726", 
  "include": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticks": [
    1, 
    2, 
    5, 
    10, 
    15, 
    20, 
    25, 
    50, 
    75, 
    100, 
    125, 
    150, 
    200, 
    250, 
    500, 
    750
  ]
}
base_unit = 'm'#
Type:

Required(String)

基本单位的简称,例如"m"表示米,"eV"表示电子伏特。

exclude = ['dm', 'hm']#
Type:

List

从基础中要避免的单位子集。

full_unit = None#
Type:

Nullable(String)

基本单位的全称,例如 "meter""electronvolt"

include = None#
Type:

Nullable(List)

从基础中选择的首选单位的可选子集。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
Type:

Required(List)

在非精确模式下选择的首选值。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class NormalHead(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类:ArrowHead

渲染一个闭合的箭头头部。

JSON Prototype
{
  "fill_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "fill_color": {
    "type": "value", 
    "value": "black"
  }, 
  "id": "p53735", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "line_color": {
    "type": "value", 
    "value": "black"
  }, 
  "line_dash": {
    "type": "value", 
    "value": []
  }, 
  "line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "line_width": {
    "type": "value", 
    "value": 1
  }, 
  "name": null, 
  "size": {
    "type": "value", 
    "value": 25
  }, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
fill_alpha = 1.0#
Type:

AlphaSpec

箭头头部内部的填充透明度值。

fill_color = 'black'#
Type:

ColorSpec

箭头头部内部的填充颜色值。

line_alpha = 1.0#
Type:

AlphaSpec

箭头头部轮廓的线条透明度值。

line_cap = 'butt'#
Type:

LineCapSpec

箭头头部轮廓的线帽值。

line_color = 'black'#
Type:

ColorSpec

箭头轮廓的线条颜色值。

line_dash = []#
Type:

DashPatternSpec

箭头轮廓的虚线值。

line_dash_offset = 0#
Type:

IntSpec

箭头头部轮廓的虚线偏移值。

line_join = 'bevel'#
Type:

LineJoinSpec

箭头头部轮廓的线条连接值。

line_width = 1#
Type:

NumberSpec

箭头头部轮廓的线宽值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

size = 25#
Type:

NumberSpec

箭头的大小,以像素为单位。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class OpenHead(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类:ArrowHead

渲染一个开放箭头的头部。

JSON Prototype
{
  "id": "p53749", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "line_color": {
    "type": "value", 
    "value": "black"
  }, 
  "line_dash": {
    "type": "value", 
    "value": []
  }, 
  "line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "line_width": {
    "type": "value", 
    "value": 1
  }, 
  "name": null, 
  "size": {
    "type": "value", 
    "value": 25
  }, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
line_alpha = 1.0#
Type:

AlphaSpec

箭头头部轮廓的线条透明度值。

line_cap = 'butt'#
Type:

LineCapSpec

箭头头部轮廓的线帽值。

line_color = 'black'#
Type:

ColorSpec

箭头轮廓的线条颜色值。

line_dash = []#
Type:

DashPatternSpec

箭头轮廓的虚线值。

line_dash_offset = 0#
Type:

IntSpec

箭头头部轮廓的虚线偏移值。

line_join = 'bevel'#
Type:

LineJoinSpec

箭头头部轮廓的线连接值。

line_width = 1#
Type:

NumberSpec

箭头头部轮廓的线宽值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

size = 25#
Type:

NumberSpec

箭头的大小,以像素为单位。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class PolyAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类: Annotation

渲染一个带阴影的多边形区域作为注释。

请参阅多边形注释以获取有关绘制多边形注释的信息。

JSON Prototype
{
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "editable": false, 
  "elements": [], 
  "fill_alpha": 0.4, 
  "fill_color": "#fff9ba", 
  "group": null, 
  "hatch_alpha": 1.0, 
  "hatch_color": "black", 
  "hatch_extra": {
    "type": "map"
  }, 
  "hatch_pattern": null, 
  "hatch_scale": 12.0, 
  "hatch_weight": 1.0, 
  "hover_fill_alpha": 0.4, 
  "hover_fill_color": null, 
  "hover_hatch_alpha": 1.0, 
  "hover_hatch_color": "black", 
  "hover_hatch_extra": {
    "type": "map"
  }, 
  "hover_hatch_pattern": null, 
  "hover_hatch_scale": 12.0, 
  "hover_hatch_weight": 1.0, 
  "hover_line_alpha": 0.3, 
  "hover_line_cap": "butt", 
  "hover_line_color": null, 
  "hover_line_dash": [], 
  "hover_line_dash_offset": 0, 
  "hover_line_join": "bevel", 
  "hover_line_width": 1, 
  "id": "p53761", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "line_alpha": 0.3, 
  "line_cap": "butt", 
  "line_color": "#cccccc", 
  "line_dash": [], 
  "line_dash_offset": 0, 
  "line_join": "bevel", 
  "line_width": 1, 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true, 
  "x_range_name": "default", 
  "xs": [], 
  "xs_units": "data", 
  "y_range_name": "default", 
  "ys": [], 
  "ys_units": "data"
}
context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

editable = False#
Type:

Bool

允许交互式修改此多边形的几何形状。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

fill_alpha = 0.4#
Type:

Alpha

多边形的填充透明度值。

fill_color = '#fff9ba'#
Type:

Nullable(Color)

多边形的填充颜色值。

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

hatch_alpha = 1.0#
Type:

Alpha

多边形的填充透明度值。

hatch_color = 'black'#
Type:

Nullable(Color)

多边形的填充颜色值。

hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

多边形的额外填充值。

hatch_pattern = None#
Type:

Nullable(String)

多边形的填充图案值。

hatch_scale = 12.0#
Type:

Size

多边形的填充比例值。

hatch_weight = 1.0#
Type:

Size

多边形的填充权重值。

hover_fill_alpha = 0.4#
Type:

Alpha

当悬停在多边形上时,填充的透明度值。

hover_fill_color = None#
Type:

Nullable(Color)

当悬停在多边形上时的填充颜色值。

hover_hatch_alpha = 1.0#
Type:

Alpha

当悬停在多边形上时的填充透明度值。

hover_hatch_color = 'black'#
Type:

Nullable(Color)

当悬停在多边形上时的填充颜色值。

hover_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

当悬停在多边形上时的填充额外值。

hover_hatch_pattern = None#
Type:

Nullable(String)

当悬停在多边形上时的填充图案值。

hover_hatch_scale = 12.0#
Type:

Size

悬停时多边形的填充比例值。

hover_hatch_weight = 1.0#
Type:

Size

当悬停在多边形上时的填充权重值。

hover_line_alpha = 0.3#
Type:

Alpha

当悬停在多边形上时,线条的透明度值。

hover_line_cap = 'butt'#
Type:

Enum(LineCap)

当悬停在多边形上时的线帽值。

hover_line_color = None#
Type:

Nullable(Color)

悬停时多边形的线条颜色值。

hover_line_dash = []#
Type:

DashPattern

悬停在多边形上时的虚线值。

hover_line_dash_offset = 0#
Type:

Int

悬停时多边形的虚线偏移值。

hover_line_join = 'bevel'#
Type:

Enum(LineJoin)

当悬停在多边形上时的线条连接值。

hover_line_width = 1#
Type:

Float

悬停时多边形的线宽值。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 0.3#
Type:

Alpha

多边形的线条透明度值。

line_cap = 'butt'#
Type:

Enum(LineCap)

多边形的线帽值。

line_color = '#cccccc'#
Type:

Nullable(Color)

多边形的线条颜色值。

line_dash = []#
Type:

DashPattern

多边形的虚线值。

line_dash_offset = 0#
Type:

Int

多边形的虚线偏移值。

line_join = 'bevel'#
Type:

Enum(LineJoin)

多边形的线条连接值。

line_width = 1#
Type:

Float

多边形的线宽值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

xs = []#
Type:

Seq(Either(Float, Datetime, Factor))

要绘制区域的x坐标。

xs_units = 'data'#
Type:

Enum(CoordinateUnits)

xs 属性的单位类型。默认情况下解释为 数据单位

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

ys = []#
Type:

Seq(Either(Float, Datetime, Factor))

要绘制区域的y坐标。

ys_units = 'data'#
Type:

Enum(CoordinateUnits)

ys 属性的单位类型。默认情况下解释为 数据单位

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ReciprocalMetric(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:Metric

用于定义倒数度量单位的模型,例如 m^{-1}

JSON Prototype
{
  "base_unit": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "exclude": [], 
  "full_unit": null, 
  "id": "p53813", 
  "include": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticks": [
    1, 
    2, 
    5, 
    10, 
    15, 
    20, 
    25, 
    50, 
    75, 
    100, 
    125, 
    150, 
    200, 
    250, 
    500, 
    750
  ]
}
base_unit = Undefined#
Type:

Required(String)

基本单位的简称,例如"m"表示米,"eV"表示电子伏特。

exclude = []#
Type:

List

从基础中要避免的单位子集。

full_unit = None#
Type:

Nullable(String)

基本单位的全称,例如 "meter""electronvolt"

include = None#
Type:

Nullable(List)

从基础中选择的首选单位的可选子集。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
Type:

Required(List)

在非精确模式下选择的首选值。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ReciprocalMetricLength(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类:ReciprocalMetric

长度测量倒数的公制单位。

JSON Prototype
{
  "base_unit": "m", 
  "exclude": [
    "dm", 
    "hm"
  ], 
  "full_unit": null, 
  "id": "p53822", 
  "include": null, 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticks": [
    1, 
    2, 
    5, 
    10, 
    15, 
    20, 
    25, 
    50, 
    75, 
    100, 
    125, 
    150, 
    200, 
    250, 
    500, 
    750
  ]
}
base_unit = 'm'#
Type:

Required(String)

基本单位的简称,例如"m"表示米,"eV"表示电子伏特。

exclude = ['dm', 'hm']#
Type:

List

从基础中要避免的单位子集。

full_unit = None#
Type:

Nullable(String)

基本单位的全称,例如 "meter""electronvolt"

include = None#
Type:

Nullable(List)

从基础中选择的首选单位的可选子集。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
Type:

Required(List)

在非精确模式下选择的首选值。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ScaleBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: Annotation

表示一个比例尺注释。

JSON Prototype
{
  "anchor": "auto", 
  "background_fill_alpha": 0.95, 
  "background_fill_color": "#ffffff", 
  "background_hatch_alpha": 1.0, 
  "background_hatch_color": "black", 
  "background_hatch_extra": {
    "type": "map"
  }, 
  "background_hatch_pattern": null, 
  "background_hatch_scale": 12.0, 
  "background_hatch_weight": 1.0, 
  "bar_length": 0.2, 
  "bar_length_units": "screen", 
  "bar_line_alpha": 1.0, 
  "bar_line_cap": "butt", 
  "bar_line_color": "black", 
  "bar_line_dash": [], 
  "bar_line_dash_offset": 0, 
  "bar_line_join": "bevel", 
  "bar_line_width": 2, 
  "border_line_alpha": 0.5, 
  "border_line_cap": "butt", 
  "border_line_color": "#e5e5e5", 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "dimensional": {
    "attributes": {
      "include": null
    }, 
    "id": "p53832", 
    "name": "MetricLength", 
    "type": "object"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p53831", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "label": "@{value} @{unit}", 
  "label_align": "center", 
  "label_location": "below", 
  "label_standoff": 5, 
  "label_text_align": "left", 
  "label_text_alpha": 1.0, 
  "label_text_baseline": "middle", 
  "label_text_color": "#444444", 
  "label_text_font": "helvetica", 
  "label_text_font_size": "13px", 
  "label_text_font_style": "normal", 
  "label_text_line_height": 1.2, 
  "label_text_outline_color": null, 
  "length_sizing": "adaptive", 
  "level": "annotation", 
  "location": "top_right", 
  "margin": 10, 
  "name": null, 
  "orientation": "horizontal", 
  "padding": 10, 
  "propagate_hover": false, 
  "range": "auto", 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticker": {
    "attributes": {
      "minor_ticks": [], 
      "ticks": []
    }, 
    "id": "p53833", 
    "name": "FixedTicker", 
    "type": "object"
  }, 
  "title": "", 
  "title_align": "center", 
  "title_location": "above", 
  "title_standoff": 5, 
  "title_text_align": "left", 
  "title_text_alpha": 1.0, 
  "title_text_baseline": "bottom", 
  "title_text_color": "#444444", 
  "title_text_font": "helvetica", 
  "title_text_font_size": "13px", 
  "title_text_font_style": "italic", 
  "title_text_line_height": 1.2, 
  "title_text_outline_color": null, 
  "unit": "m", 
  "visible": true, 
  "x_range_name": "default", 
  "x_units": "data", 
  "y_range_name": "default", 
  "y_units": "data"
}
anchor = 'auto'#
Type:

Either(Auto, Enum(Anchor), Tuple(Either(Auto, Either(Enum(Align), Enum(HAlign), Percent)), Either(Auto, Either(Enum(Align), Enum(VAlign), Percent))))

比例尺定位的起点。

如果在任何或两个维度中使用"auto",则这些维度中的锚点将根据位置确定,以使比例尺看起来更好。

background_fill_alpha = 0.95#
Type:

Alpha

比例尺背景填充样式的填充透明度。

background_fill_color = '#ffffff'#
Type:

Nullable(Color)

比例条背景填充样式的填充颜色。

background_hatch_alpha = 1.0#
Type:

Alpha

比例尺背景填充样式的填充透明度。

background_hatch_color = 'black'#
Type:

Nullable(Color)

比例尺背景填充样式的填充颜色。

background_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

比例尺背景填充样式的额外填充。

background_hatch_pattern = None#
Type:

Nullable(String)

比例尺背景填充样式的填充图案。

background_hatch_scale = 12.0#
Type:

Size

比例条背景填充样式的填充比例。

background_hatch_weight = 1.0#
Type:

Size

比例条背景填充样式的填充重量。

bar_length = 0.2#
Type:

NonNegative

条形的长度。

这可能是帧的一部分、像素数量或数据空间中的距离,具体取决于bar_length_units的配置。

bar_length_units = 'screen'#
Type:

Enum(枚举(screen, data, percent))

定义如何解释 bar_length

支持的值为:

  • "screen" - 长度以像素为单位提供,或者如果提供的值在[0, 1]范围内,则作为父容器(例如框架)的百分比提供

  • "data" - 长度以数据空间单位提供

  • "percent" - 长度是父容器(例如框架)的百分比

注意

"data" 单位假设使用的是线性比例或类似线性的比例(例如分类比例)。否则,条形的长度将取决于位置。

bar_line_alpha = 1.0#
Type:

Alpha

条形线样式的线条透明度值。

bar_line_cap = 'butt'#
Type:

Enum(LineCap)

条形线样式的线帽值。

bar_line_color = 'black'#
Type:

Nullable(Color)

柱状线条样式的线条颜色值。

bar_line_dash = []#
Type:

DashPattern

条形线样式的虚线值。

bar_line_dash_offset = 0#
Type:

Int

条形线样式的虚线偏移值。

bar_line_join = 'bevel'#
Type:

Enum(LineJoin)

条形线样式的线连接值。

bar_line_width = 2#
Type:

Float

条形线样式的线宽值。

border_line_alpha = 0.5#
Type:

Alpha

比例尺边框线条样式的线条透明度。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

比例尺边框线样式的线帽。

border_line_color = '#e5e5e5'#
Type:

Nullable(Color)

比例尺边框线条样式的线条颜色。

border_line_dash = []#
Type:

DashPattern

比例尺边框线型的虚线样式。

border_line_dash_offset = 0#
Type:

Int

比例尺边框线样式的虚线偏移量。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

比例尺边框线样式的线条连接方式。

border_line_width = 1#
Type:

Float

比例尺边框线样式的线宽。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

dimensional = MetricLength(id='p53921', ...)#
Type:

Instance(Dimensional)

定义测量单位。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

label = '@{value} @{unit}'#
Type:

String

标签模板。

这可以使用特殊变量:

  • @{value} 当前值。可以选择提供一个数字格式化器,例如 @{value}{%.2f}

  • @{unit} 测量单位。

label_align = 'center'#
Type:

Enum(Align)

指定比例尺标签沿比例尺的对齐位置。

此属性在将标签放置在水平比例尺的上方或下方,或垂直比例尺的左侧或右侧时有效。

label_location = 'below'#
Type:

Enum(Location)

指定标签将位于比例尺的哪一侧。

label_standoff = 5#
Type:

Int

标签与比例条之间的距离(以像素为单位)。

label_text_align = 'left'#
Type:

Enum(TextAlign)

标签文本样式的文本对齐值。

label_text_alpha = 1.0#
Type:

Alpha

标签文本样式的文本透明度值。

label_text_baseline = 'middle'#
Type:

Enum(TextBaseline)

标签文本样式的文本基线值。

label_text_color = '#444444'#
Type:

Nullable(Color)

标签文本样式的文本颜色值。

label_text_font = 'helvetica'#
Type:

String

标签文本样式的文本字体值。

label_text_font_size = '13px'#
Type:

FontSize

标签文本样式的文本字体大小值。

label_text_font_style = 'normal'#
Type:

Enum(FontStyle)

标签文本样式的文本字体样式值。

label_text_line_height = 1.2#
Type:

Float

标签文本样式的文本行高值。

label_text_outline_color = None#
Type:

Nullable(Color)

标签文本样式的文本轮廓颜色值。

length_sizing = 'adaptive'#
Type:

Enum(枚举(adaptive, exact))

定义如何解释条的长度。

这可以是:

  • "adaptive" - 计算的长度适合由维度模型提供的一组刻度。如果没有提供刻度,则行为与使用"exact"大小调整时相同

  • "exact" - 计算的长度按原样使用

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

location = 'top_right'#
Type:

Either(Enum(Anchor), Tuple(Either(Enum(HAlign), Float, Either(Float, Datetime, Factor)), Either(Enum(VAlign), Float, Either(Float, Datetime, Factor))))

比例尺在父容器(通常是笛卡尔框架)中的位置。

margin = 10#
Type:

Int

比例尺外部的边距量(以像素为单位)。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

orientation = 'horizontal'#
Type:

Enum(Orientation)

比例尺应该是水平还是垂直方向。

padding = 10#
Type:

Int

比例尺内容与其边框之间的填充量(以像素为单位)。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

range = 'auto'#
Type:

Either(Instance(Range), Auto)

显示比例的范围。

这可以是一个范围引用或"auto",在这种情况下,比例尺将根据比例尺的方向选择框架的默认x或y范围。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

ticker = FixedTicker(id='p54012', ...)#
Type:

Instance(Ticker)

用于计算轴组件位置的代码。

请注意,如果使用没有预定义刻度的默认固定刻度器,那么比例尺的外观将只是一个没有额外标记的实心条。

title = ''#
Type:

String

要渲染的标题文本。

title_align = 'center'#
Type:

Enum(Align)

指定比例条标题沿条的对齐位置。

此属性在将标题放置在水平比例尺的上方或下方,或垂直比例尺的左侧或右侧时有效。

title_location = 'above'#
Type:

Enum(Location)

指定标题将位于图例的哪一侧。

title_standoff = 5#
Type:

Int

距离(以像素为单位)用于将标题与比例尺分开。

title_text_align = 'left'#
Type:

Enum(TextAlign)

标题文本样式的文本对齐值。

title_text_alpha = 1.0#
Type:

Alpha

标题文本样式的文本透明度值。

title_text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

标题文本样式的文本基线值。

title_text_color = '#444444'#
Type:

Nullable(Color)

标题文本样式的文本颜色值。

title_text_font = 'helvetica'#
Type:

String

标题文本样式的文本字体值。

title_text_font_size = '13px'#
Type:

FontSize

标题文本样式的文本字体大小值。

title_text_font_style = 'italic'#
Type:

Enum(FontStyle)

标题文本样式的文本字体样式值。

title_text_line_height = 1.2#
Type:

Float

标题文本样式的文本行高值。

title_text_outline_color = None#
Type:

Nullable(Color)

标题文本样式的文本轮廓颜色值。

unit = 'm'#
Type:

String

range 属性的单位。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

x_units = 'data'#
Type:

Enum(枚举(data, screen, view, percent))

解释在position属性中提供的x坐标值。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

y_units = 'data'#
Type:

Enum(枚举(data, screen, view, percent))

position属性中提供的y坐标值的解释。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Slope(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: Annotation

渲染一条斜线作为注释。

请参阅Slopes以获取关于绘制斜率的信息。

JSON Prototype
{
  "above_fill_alpha": 0.4, 
  "above_fill_color": null, 
  "above_hatch_alpha": 1.0, 
  "above_hatch_color": "black", 
  "above_hatch_extra": {
    "type": "map"
  }, 
  "above_hatch_pattern": null, 
  "above_hatch_scale": 12.0, 
  "above_hatch_weight": 1.0, 
  "below_fill_alpha": 0.4, 
  "below_fill_color": null, 
  "below_hatch_alpha": 1.0, 
  "below_hatch_color": "black", 
  "below_hatch_extra": {
    "type": "map"
  }, 
  "below_hatch_pattern": null, 
  "below_hatch_scale": 12.0, 
  "below_hatch_weight": 1.0, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "gradient": null, 
  "group": null, 
  "id": "p54070", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "line_alpha": 1.0, 
  "line_cap": "butt", 
  "line_color": "black", 
  "line_dash": [], 
  "line_dash_offset": 0, 
  "line_join": "bevel", 
  "line_width": 1, 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true, 
  "x_range_name": "default", 
  "y_intercept": null, 
  "y_range_name": "default"
}
above_fill_alpha = 0.4#
Type:

Alpha

线条上方区域的填充透明度值。

above_fill_color = None#
Type:

Nullable(Color)

线上区域的填充颜色值。

above_hatch_alpha = 1.0#
Type:

Alpha

线条上方区域的填充透明度值。

above_hatch_color = 'black'#
Type:

Nullable(Color)

线条上方区域的填充颜色值。

above_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

线条上方区域的额外填充值。

above_hatch_pattern = None#
Type:

Nullable(String)

线条上方区域的填充图案值。

above_hatch_scale = 12.0#
Type:

Size

线上区域的阴影比例值。

above_hatch_weight = 1.0#
Type:

Size

线上区域的孵化重量值。

below_fill_alpha = 0.4#
Type:

Alpha

线条下方区域的填充透明度值。

below_fill_color = None#
Type:

Nullable(Color)

线条下方区域的填充颜色值。

below_hatch_alpha = 1.0#
Type:

Alpha

线条下方区域的填充透明度值。

below_hatch_color = 'black'#
Type:

Nullable(Color)

线下区域的填充颜色值。

below_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

线条下方区域的额外填充值。

below_hatch_pattern = None#
Type:

Nullable(String)

线下区域的填充图案值。

below_hatch_scale = 12.0#
Type:

Size

线下区域的阴影比例值。

below_hatch_weight = 1.0#
Type:

Size

线下区域的阴影权重值。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

gradient = None#
Type:

Nullable(Float)

直线的梯度,以数据单位表示

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 1.0#
Type:

Alpha

线条的透明度值。

line_cap = 'butt'#
Type:

Enum(LineCap)

线条的线帽值。

line_color = 'black'#
Type:

Nullable(Color)

线条的颜色值。

line_dash = []#
Type:

DashPattern

线条的虚线值。

line_dash_offset = 0#
Type:

Int

线条的虚线偏移值。

line_join = 'bevel'#
Type:

Enum(LineJoin)

线条的连接值。

line_width = 1#
Type:

Float

线条的宽度值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_intercept = None#
Type:

Nullable(Float)

直线的y截距,单位为数据单位

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Span(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: Annotation

渲染水平或垂直线跨度。

请参阅Spans以获取关于绘制跨度的信息。

JSON Prototype
{
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "dimension": "width", 
  "editable": false, 
  "elements": [], 
  "group": null, 
  "hover_line_alpha": 0.3, 
  "hover_line_cap": "butt", 
  "hover_line_color": null, 
  "hover_line_dash": [], 
  "hover_line_dash_offset": 0, 
  "hover_line_join": "bevel", 
  "hover_line_width": 1, 
  "id": "p54112", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "line_alpha": 1.0, 
  "line_cap": "butt", 
  "line_color": "black", 
  "line_dash": [], 
  "line_dash_offset": 0, 
  "line_join": "bevel", 
  "line_width": 1, 
  "location": null, 
  "location_units": "data", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

dimension = 'width'#
Type:

Enum(Dimension)

可以通过将此属性设置为“height”(y 方向)或“width”(x 方向)来指定跨度的方向。

editable = False#
Type:

Bool

允许交互式修改此跨度的几何形状。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

hover_line_alpha = 0.3#
Type:

Alpha

悬停时跨度的线条透明度值。

hover_line_cap = 'butt'#
Type:

Enum(LineCap)

悬停时跨度的线帽值。

hover_line_color = None#
Type:

Nullable(Color)

悬停时跨度的线条颜色值。

hover_line_dash = []#
Type:

DashPattern

悬停时跨度的虚线值。

hover_line_dash_offset = 0#
Type:

Int

悬停时跨度的虚线偏移值。

hover_line_join = 'bevel'#
Type:

Enum(LineJoin)

悬停时跨度的线条连接值。

hover_line_width = 1#
Type:

Float

悬停时跨度的线宽值。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 1.0#
Type:

Alpha

跨度的线条透明度值。

line_cap = 'butt'#
Type:

Enum(LineCap)

跨度的线帽值。

line_color = 'black'#
Type:

Nullable(Color)

跨度的线条颜色值。

line_dash = []#
Type:

DashPattern

跨度的虚线值。

line_dash_offset = 0#
Type:

Int

跨度的虚线偏移值。

line_join = 'bevel'#
Type:

Enum(LineJoin)

跨度的线条连接值。

line_width = 1#
Type:

Float

跨度的线宽值。

location = None#
Type:

Nullable(Either(Float, Datetime, Factor))

跨度的位置,沿着dimension

location_units = 'data'#
Type:

Enum(CoordinateUnits)

位置属性的单位类型。默认情况下解释为“数据空间”单位。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class TeeHead(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:ArrowHead

渲染一个T型箭头头部。

JSON Prototype
{
  "id": "p54147", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "line_color": {
    "type": "value", 
    "value": "black"
  }, 
  "line_dash": {
    "type": "value", 
    "value": []
  }, 
  "line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "line_width": {
    "type": "value", 
    "value": 1
  }, 
  "name": null, 
  "size": {
    "type": "value", 
    "value": 25
  }, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
line_alpha = 1.0#
Type:

AlphaSpec

箭头头部轮廓的线条透明度值。

line_cap = 'butt'#
Type:

LineCapSpec

箭头头部轮廓的线帽值。

line_color = 'black'#
Type:

ColorSpec

箭头轮廓的线条颜色值。

line_dash = []#
Type:

DashPatternSpec

箭头轮廓的虚线值。

line_dash_offset = 0#
Type:

IntSpec

箭头头部轮廓的虚线偏移值。

line_join = 'bevel'#
Type:

LineJoinSpec

箭头头部轮廓的线连接值。

line_width = 1#
Type:

NumberSpec

箭头头部轮廓的线宽值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

size = 25#
Type:

NumberSpec

箭头的大小,以像素为单位。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class TextAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: Annotation

文本注释模型(如标签和标题)的基类。

注意

这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。

JSON Prototype
{
  "background_fill_alpha": 1.0, 
  "background_fill_color": null, 
  "background_hatch_alpha": 1.0, 
  "background_hatch_color": null, 
  "background_hatch_extra": {
    "type": "map"
  }, 
  "background_hatch_pattern": null, 
  "background_hatch_scale": 12.0, 
  "background_hatch_weight": 1.0, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "border_radius": 0, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p54159", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "padding": 0, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": "", 
  "text_align": "left", 
  "text_alpha": 1.0, 
  "text_baseline": "bottom", 
  "text_color": "#444444", 
  "text_font": "helvetica", 
  "text_font_size": "16px", 
  "text_font_style": "normal", 
  "text_line_height": 1.2, 
  "text_outline_color": null, 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
background_fill_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_fill_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_hatch_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

文本边界框的额外填充值。

background_hatch_pattern = None#
Type:

Nullable(String)

文本边界框的填充图案值。

background_hatch_scale = 12.0#
Type:

Size

文本边界框的阴影比例值。

background_hatch_weight = 1.0#
Type:

Size

文本边界框的填充权重值。

border_line_alpha = 1.0#
Type:

Alpha

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

文本边界框的线帽值。

border_line_color = None#
Type:

Nullable(Color)

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPattern

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

Int

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

文本边界框的线条连接值。

border_line_width = 1#
Type:

Float

文本边界框的线条宽度值。

border_radius = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

允许标签的盒子具有圆角。为了获得最佳效果,它应与 padding 结合使用。

注意

此属性是实验性的,可能会随时更改。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

padding = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative), Struct, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

标签文本与其边界框(边框)之间的额外空间。

注意

此属性是实验性的,可能会随时更改。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = ''#
Type:

TextLike

要渲染的文本或LaTeX符号。

text_align = 'left'#
Type:

Enum(TextAlign)

文本的对齐值。

text_alpha = 1.0#
Type:

Alpha

文本的alpha值。

text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

文本的基线值。

text_color = '#444444'#
Type:

Nullable(Color)

文本的颜色值。

text_font = 'helvetica'#
Type:

String

文本的字体值。

text_font_size = '16px'#
Type:

FontSize

文本的字体大小值。

text_font_style = 'normal'#
Type:

Enum(FontStyle)

文本的字体样式值。

text_line_height = 1.2#
Type:

Float

文本的行高值。

text_outline_color = None#
Type:

Nullable(Color)

文本的轮廓颜色值。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Title(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类: TextAnnotation

渲染单个标题框作为注释。

请参阅Titles以获取关于绘制标题的信息。

JSON Prototype
{
  "align": "left", 
  "background_fill_alpha": 1.0, 
  "background_fill_color": null, 
  "background_hatch_alpha": 1.0, 
  "background_hatch_color": null, 
  "background_hatch_extra": {
    "type": "map"
  }, 
  "background_hatch_pattern": null, 
  "background_hatch_scale": 12.0, 
  "background_hatch_weight": 1.0, 
  "border_line_alpha": 1.0, 
  "border_line_cap": "butt", 
  "border_line_color": null, 
  "border_line_dash": [], 
  "border_line_dash_offset": 0, 
  "border_line_join": "bevel", 
  "border_line_width": 1, 
  "border_radius": 0, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p54203", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "offset": 0, 
  "padding": 0, 
  "propagate_hover": false, 
  "renderers": [], 
  "standoff": 10, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "text": "", 
  "text_align": "left", 
  "text_alpha": 1.0, 
  "text_baseline": "bottom", 
  "text_color": "#444444", 
  "text_font": "helvetica", 
  "text_font_size": "13px", 
  "text_font_style": "bold", 
  "text_line_height": 1.0, 
  "text_outline_color": null, 
  "vertical_align": "bottom", 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
align = 'left'#
Type:

Enum(TextAlign)

文本在其封闭空间中的对齐方式,沿着文本的方向。

background_fill_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_fill_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_alpha = 1.0#
Type:

Alpha

文本边界框的填充透明度值。

background_hatch_color = None#
Type:

Nullable(Color)

文本边界框的填充颜色值。

background_hatch_extra = {}#
Type:

Dict(String, Instance(Texture))

文本边界框的额外填充值。

background_hatch_pattern = None#
Type:

Nullable(String)

文本边界框的填充图案值。

background_hatch_scale = 12.0#
Type:

Size

文本边界框的阴影比例值。

background_hatch_weight = 1.0#
Type:

Size

文本边界框的填充权重值。

border_line_alpha = 1.0#
Type:

Alpha

文本边界框的线条透明度值。

border_line_cap = 'butt'#
Type:

Enum(LineCap)

文本边界框的线帽值。

border_line_color = None#
Type:

Nullable(Color)

文本边界框的线条颜色值。

border_line_dash = []#
Type:

DashPattern

文本边界框的虚线值。

border_line_dash_offset = 0#
Type:

Int

文本边界框的虚线偏移值。

border_line_join = 'bevel'#
Type:

Enum(LineJoin)

文本边界框的线条连接值。

border_line_width = 1#
Type:

Float

文本边界框的线条宽度值。

border_radius = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

允许标签的盒子具有圆角。为了获得最佳效果,它应与 padding 结合使用。

注意

此属性是实验性的,可能会随时更改。

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

offset = 0#
Type:

Float

将文本偏移一定数量的像素(可以是正数或负数)。根据标题的位置,文本会向不同的方向移动:

  • 上方:将标题向右移动

  • right: 将标题向下移动

  • 下方:将标题向右移动

  • 左:将标题上移

padding = 0#
Type:

Either(NonNegative, Tuple(NonNegative, NonNegative), Struct, Tuple(NonNegative, NonNegative, NonNegative, NonNegative), Struct)

标签文本与其边界框(边框)之间的额外空间。

注意

此属性是实验性的,可能会随时更改。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

standoff = 10#
Type:

Float

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

text = ''#
Type:

TextLike

要渲染的文本或LaTeX符号。

text_align = 'left'#
Type:

Enum(TextAlign)

文本的对齐值。

text_alpha = 1.0#
Type:

Alpha

文本的alpha值。

text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

文本的基线值。

text_color = '#444444'#
Type:

Nullable(Color)

文本的颜色值。

text_font = 'helvetica'#
Type:

String

文本的字体值。

text_font_size = '13px'#
Type:

FontSize

文本的字体大小值。

text_font_style = 'bold'#
Type:

Enum(FontStyle)

文本的字体样式值。

text_line_height = 1.0#
Type:

Float

文本的行高值。

text_outline_color = None#
Type:

Nullable(Color)

文本的轮廓颜色值。

vertical_align = 'bottom'#
Type:

Enum(VerticalAlign)

文本在其封闭空间中的对齐方式,跨越文本的方向。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class ToolbarPanel(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:HTMLAnnotation

JSON Prototype
{
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "elements": [], 
  "group": null, 
  "id": "p54251", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "annotation", 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "toolbar": {
    "name": "unset", 
    "type": "symbol"
  }, 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'annotation'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

toolbar = Undefined#
Type:

Instance(Toolbar)

要显示的工具栏。

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class VeeHead(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:ArrowHead

渲染一个V型箭头头部。

JSON Prototype
{
  "fill_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "fill_color": {
    "type": "value", 
    "value": "black"
  }, 
  "id": "p54269", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "line_color": {
    "type": "value", 
    "value": "black"
  }, 
  "line_dash": {
    "type": "value", 
    "value": []
  }, 
  "line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "line_width": {
    "type": "value", 
    "value": 1
  }, 
  "name": null, 
  "size": {
    "type": "value", 
    "value": 25
  }, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
fill_alpha = 1.0#
Type:

AlphaSpec

箭头头部内部的填充透明度值。

fill_color = 'black'#
Type:

ColorSpec

箭头头部内部的填充颜色值。

line_alpha = 1.0#
Type:

AlphaSpec

箭头头部轮廓的线条透明度值。

line_cap = 'butt'#
Type:

LineCapSpec

箭头头部轮廓的线帽值。

line_color = 'black'#
Type:

ColorSpec

箭头轮廓的线条颜色值。

line_dash = []#
Type:

DashPatternSpec

箭头轮廓的虚线值。

line_dash_offset = 0#
Type:

IntSpec

箭头头部轮廓的虚线偏移值。

line_join = 'bevel'#
Type:

LineJoinSpec

箭头头部轮廓的线连接值。

line_width = 1#
Type:

NumberSpec

箭头头部轮廓的线宽值。

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

size = 25#
Type:

NumberSpec

箭头的大小,以像素为单位。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None

class Whisker(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:DataAnnotation

沿着一个维度渲染一个须线。

请参阅Whiskers以获取关于绘制须线的信息。

JSON Prototype
{
  "base": {
    "field": "base", 
    "type": "field"
  }, 
  "context_menu": null, 
  "coordinates": null, 
  "css_classes": [], 
  "css_variables": {
    "type": "map"
  }, 
  "dimension": "height", 
  "elements": [], 
  "group": null, 
  "id": "p54283", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "level": "underlay", 
  "line_alpha": {
    "type": "value", 
    "value": 1.0
  }, 
  "line_cap": {
    "type": "value", 
    "value": "butt"
  }, 
  "line_color": {
    "type": "value", 
    "value": "black"
  }, 
  "line_dash": {
    "type": "value", 
    "value": []
  }, 
  "line_dash_offset": {
    "type": "value", 
    "value": 0
  }, 
  "line_join": {
    "type": "value", 
    "value": "bevel"
  }, 
  "line_width": {
    "type": "value", 
    "value": 1
  }, 
  "lower": {
    "field": "lower", 
    "type": "field"
  }, 
  "lower_head": {
    "attributes": {
      "size": {
        "type": "value", 
        "value": 10
      }
    }, 
    "id": "p54287", 
    "name": "TeeHead", 
    "type": "object"
  }, 
  "name": null, 
  "propagate_hover": false, 
  "renderers": [], 
  "source": {
    "attributes": {
      "data": {
        "type": "map"
      }, 
      "selected": {
        "attributes": {
          "indices": [], 
          "line_indices": []
        }, 
        "id": "p54285", 
        "name": "Selection", 
        "type": "object"
      }, 
      "selection_policy": {
        "id": "p54286", 
        "name": "UnionRenderers", 
        "type": "object"
      }
    }, 
    "id": "p54284", 
    "name": "ColumnDataSource", 
    "type": "object"
  }, 
  "styles": {
    "type": "map"
  }, 
  "stylesheets": [], 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "upper": {
    "field": "upper", 
    "type": "field"
  }, 
  "upper_head": {
    "attributes": {
      "size": {
        "type": "value", 
        "value": 10
      }
    }, 
    "id": "p54288", 
    "name": "TeeHead", 
    "type": "object"
  }, 
  "visible": true, 
  "x_range_name": "default", 
  "y_range_name": "default"
}
base = Field(field='base', transform=Unspecified, units=Unspecified)#
Type:

UnitsSpec

上下值的正交坐标。

base_units = 'data'#
Type:

NotSerialized(Enum(CoordinateUnits))

用于关联属性的单位:canvas、screen 或 data

context_menu = None#
Type:

Nullable(Instance(‘.models.ui.Menu’))

当用户右键点击组件时显示的菜单。

注意

右键点击时使用Shift键以显示原生上下文菜单。

css_classes = []#
Type:

List

要添加到基础DOM元素的额外CSS类列表。

css_variables = {}#
Type:

Dict(String, Instance(Node))

允许定义动态计算的CSS变量。

例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。

这里定义的变量等同于在CSS样式表中的:host { ... }下设置相同的变量。

注意

此属性是实验性的,可能会随时更改。

dimension = 'height'#
Type:

Enum(Dimension)

可以通过将此属性设置为“height”(y方向)或“width”(x方向)来指定须的方向。

elements = []#
Type:

List

附加到此渲染器的基于DOM的UI元素集合。

这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。

注意

此属性相当于基于DOM的用户界面中的Pane.elements

group = None#
Type:

Nullable(Instance(RendererGroup))

注意

此属性是实验性的,可能会随时更改。

level = 'underlay'#
Type:

Enum(RenderLevel)

指定绘制此渲染器的层级。

line_alpha = 1.0#
Type:

AlphaSpec

须线体的线条透明度值。

line_cap = 'butt'#
Type:

LineCapSpec

须线体的线帽值。

line_color = 'black'#
Type:

ColorSpec

须线主体的线条颜色值。

line_dash = []#
Type:

DashPatternSpec

须线主体的虚线值。

line_dash_offset = 0#
Type:

IntSpec

须线体的虚线偏移值。

line_join = 'bevel'#
Type:

LineJoinSpec

须线体的线条连接值。

line_width = 1#
Type:

NumberSpec

须线体的线宽值。

lower = Field(field='lower', transform=Unspecified, units=Unspecified)#
Type:

UnitsSpec

须线底端的坐标。

lower_head = TeeHead(id='p54397', ...)#
Type:

Nullable(Instance(ArrowHead))

ArrowHead 的实例。

lower_units = 'data'#
Type:

NotSerialized(Enum(CoordinateUnits))

用于关联属性的单位:canvas、screen 或 data

name = None#
Type:

Nullable(String)

此模型的任意用户提供的名称。

在查询文档以检索特定Bokeh模型时,此名称可能很有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注意

对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。

propagate_hover = False#
Type:

Bool

允许将悬停事件传播到父渲染器、框架或画布。

注意

此属性是实验性的,可能会随时更改。

renderers = []#
Type:

List

附加到此渲染器的渲染器集合。

注意

此属性是实验性的,可能会随时更改。

source = ColumnDataSource(id='p54428', ...)#
Type:

Instance(DataSource)

在图表上渲染注释时使用的本地数据源。

styles = {}#
Type:

Either(Dict(String, Nullable(String)), Instance(Styles))

应用于底层DOM元素的内联CSS样式。

stylesheets = []#
Type:

List

用于底层DOM元素的附加样式表。

请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用:host CSS伪选择器来访问根DOM元素。

syncable = True#
Type:

Bool

指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。

注意

将此属性设置为False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。

tags = []#
Type:

List

一个可选的任意用户提供的值列表,用于附加到此模型。

在查询文档以检索特定Bokeh模型时,这些数据可能很有用:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过CustomJS回调等方式访问。

注意

对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。

upper = Field(field='upper', transform=Unspecified, units=Unspecified)#
Type:

UnitsSpec

须线的上端坐标。

upper_head = TeeHead(id='p54467', ...)#
Type:

Nullable(Instance(ArrowHead))

ArrowHead 的实例。

upper_units = 'data'#
Type:

NotSerialized(Enum(CoordinateUnits))

用于关联属性的单位:canvas、screen 或 data

visible = True#
Type:

Bool

渲染器是否可见。

x_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)x范围。如果未设置,则使用默认的x范围。

y_range_name = 'default'#
Type:

String

在绘图上渲染字形时,用于计算屏幕位置的特定(命名的)y范围。如果未设置,则使用默认的y范围。

apply_theme(property_values: dict[str, Any]) None#

应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。

传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和HasProps实例都不应修改它)。

Parameters:

property_values (dict) – 用于替换默认值的主题值

Returns:

classmethod clear_extensions() None#

清除当前定义的所有自定义扩展。

序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。

clone(**overrides: Any) Self#

复制一个HasProps对象。

这将创建原始模型的浅克隆,即任何可变的容器或子模型将不会被复制。允许在克隆时覆盖特定属性。

classmethod dataspecs() dict[str, DataSpec]#

收集此类上所有DataSpec属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

DataSpec 属性的名称

Return type:

set[str]

classmethod descriptors() list[PropertyDescriptor[Any]]#

属性描述符的列表,按定义的顺序排列。

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

Parameters:

其他 (HasProps) – 要比较的其他实例

Returns:

如果属性在结构上相等,则为True,否则为False

使用JavaScript链接两个Bokeh模型属性。

这是一个便捷的方法,简化了添加一个 CustomJS 回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。

Parameters:
  • attr (str) – 此模型上的Bokeh属性的名称

  • 其他 (Model) – 一个要链接到 self.attr 的 Bokeh 模型

  • other_attr (str) – 要链接在一起的other上的属性

  • attr_selector (int | str) – 用于链接可下标对象 attr 中项目的索引

在版本1.1中添加

Raises:

ValueError

示例

这段代码使用了 js_link:

select.js_link('value', plot, 'sizing_mode')

等同于以下内容:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,使用attr_selector将范围滑块的左侧附加到绘图的x_range:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

这相当于:

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event: str, *callbacks: JSChangeCallback) None#

将一个CustomJS回调附加到任意的BokehJS模型事件。

在BokehJS方面,模型属性的更改事件具有"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到ColumnDataSource时运行回调,可以在源上使用"stream"事件:

source.js_on_change('streaming', callback)
classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#

在类上找到Bokeh属性的PropertyDescriptor,给定属性名称。

Parameters:
  • name (str) – 要搜索的属性的名称

  • raises (bool) – 如果缺失,是抛出异常还是返回None

Returns:

名为name的属性的描述符

Return type:

PropertyDescriptor

on_change(attr: str, *callbacks: PropertyCallback) None#

在此对象上添加一个回调,当attr发生变化时触发。

Parameters:
  • attr (str) – 此对象上的一个属性名称

  • *callbacks (callable) – 要注册的回调函数

Returns:

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#

当此模型上发生指定事件时运行回调

并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。

classmethod parameters() list[Parameter]#

生成适用于从字形派生的函数的Python Parameter值。

Returns:

列表(参数)

classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#

收集此类的属性名称。

警告

在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在list中。

Returns:

属性名称

classmethod properties_with_refs() dict[str, Property[Any]]#

收集此类上所有具有引用的属性的名称。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

Returns:

具有引用的属性名称

Return type:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

收集一个将属性名称映射到其值的字典。

此方法始终遍历类层次结构,并包括在任何父类上定义的属性。

不可序列化的属性将被跳过,属性值以“序列化”格式呈现,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重构对象实例所需的信息。

Parameters:

include_defaults (bool, optional) – 是否包含自对象创建以来未明确设置的属性。(默认值:True)

Returns:

从属性名称到其值的映射

Return type:

dict

query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any]#

使用谓词查询HasProps实例的属性值。

Parameters:
  • query (callable) – 一个可调用对象,接受属性描述符并返回 True 或 False

  • include_defaults (bool, optional) – 是否包含用户未明确设置的属性(默认值:True)

Returns:

属性名称和值的映射,用于匹配属性

Return type:

dict

references() set[Model]#

返回此对象引用的所有Models

remove_on_change(attr: str, *callbacks: Callable[[str, Any, Any], None]) None#

从此对象中移除一个回调函数

select(selector: SelectorType) Iterable[Model]#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。

Parameters:

selector (类似JSON的)

Returns:

序列[模型]

select_one(selector: SelectorType) Model | None#

查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like

Returns:

模型

set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#

从JSON设置此对象的属性值。

Parameters:
  • name (str) – 要设置的属性名称

  • value (JSON-value) – 要设置给属性的值

  • setter (ClientSessionServerSessionNone, 可选) –

    这用于防止对Bokeh应用程序的“回旋镖”更新。

    在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。

Returns:

set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#

使用指定的属性/值更新来更新与给定选择器匹配的对象。

Parameters:
  • selector (类似JSON的)

  • 更新 (dict)

Returns:

themed_values() dict[str, Any] | None#

获取任何主题提供的覆盖。

结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回None

Returns:

字典或无

to_serializable(serializer: Serializer) ObjectRefRep#

将此对象转换为可序列化的表示形式。

trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
unapply_theme() None#

移除任何主题值并恢复默认设置。

Returns:

update(**kwargs: Any) None#

从给定的关键字参数更新对象的属性。

Returns:

示例

以下是等价的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
property document: Document | None#

该模型附加到的Document(可以为None