格式化器#

用于控制Bokeh绘图轴上刻度标签的文本和视觉格式的模型。

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

基础类:TickFormatter

将连续范围的刻度值显示为“基本数字”,默认情况下在适当的时候使用科学记数法。

JSON Prototype
{
  "id": "p57456", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "power_limit_high": 5, 
  "power_limit_low": -3, 
  "precision": "auto", 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "use_scientific": true
}
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也不会直接使用这些名称。

power_limit_high = 5#
Type:

Int

限制科学记数法的使用情况为:

log(x) >= power_limit_high
power_limit_low = -3#
Type:

Int

限制科学记数法的使用情况为:

log(x) <= power_limit_low
precision = 'auto'#
Type:

Either(Auto, Int)

在刻度标签中显示多少位精度。

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也不会出于任何原因直接使用这些标签。

use_scientific = True#
Type:

Bool

是否显示科学计数法。如果True,则何时使用科学计数法由power_limit_lowpower_limit_high控制。

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 CategoricalTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:TickFormatter

将分类范围的刻度值显示为字符串值。

JSON Prototype
{
  "id": "p57464", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "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也不会直接使用这些名称。

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 CustomJSTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#

基础类:TickFormatter

显示由用户定义函数格式化的刻度值。

警告

这个Bokeh模型的明确目的是嵌入原始JavaScript代码供浏览器执行。如果代码的任何部分来自不受信任的用户输入,则必须在传递给Bokeh之前对用户输入进行适当的清理。

JSON Prototype
{
  "args": {
    "type": "map"
  }, 
  "code": "", 
  "id": "p57468", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
args = {}#
Type:

Dict(String, AnyRef)

名称到Python对象的映射。特别是这些可以是Bokeh的模型。这些对象作为回调函数的命名参数的值,可用于格式化程序的代码片段中。

code = ''#
Type:

String

一段JavaScript代码片段,用于将单个刻度重新格式化为所需的格式。变量tick将包含未格式化的刻度值,并且可以预期在渲染时存在于代码片段命名空间中。

此外可用的变量有:

  • ticks,一个由刻度定位器定位的所有轴刻度的数组,

  • indextickticks中的位置,以及

  • args 的键映射,如果有的话。

发现自己需要缓存一个昂贵的依赖于ticks的计算,你可以将其存储在this变量上。

示例

code = '''
this.precision = this.precision || (ticks.length > 5 ? 1 : 2);
return Math.floor(tick) + " + " + (tick % 1).toFixed(this.precision);
'''
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 DatetimeTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:TickFormatter

一个 TickFormatter 用于在不同范围内优雅地显示日期时间值。

DatetimeTickFormatter 具有以下属性(与它们的默认值一起列出),可用于控制不同比例下轴刻度的格式:

microseconds = '%fus'

milliseconds = '%3Nms'

seconds = '%Ss'

minsec = ':%M:%S'

minutes = ':%M'

hourmin = '%H:%M'

hours = '%Hh'

days = '%m/%d'

months = '%m/%Y'

years = '%Y'

每个比例属性可以设置为格式或格式列表,用于格式化属于该“时间比例”的日期时间刻度值。默认情况下,每个时间比例只使用传递的第一个格式字符串。默认情况下,所有前导零都会从格式化的标签中去掉。

下面列出了支持的strftime格式。

%a

根据当前区域设置的星期几的缩写名称。

%A

根据当前区域设置,星期的全名。

%b

根据当前区域设置的缩写月份名称。

%B

根据当前区域设置的全月名称。

%c

当前区域设置的优选日期和时间表示。

%C

世纪数(年/100)为2位整数。

%d

月份中的第几天,以十进制数表示(范围01到31)。

%D

等同于 %m/%d/%y。(美国人应注意,在许多其他国家 %d/%m/%y 更为常见。这意味着在国际环境中,这种格式是模糊的,不应使用。)

%e

类似于%d,表示月份中的天数作为十进制数,但前导零被替换为空格。

%f

微秒作为十进制数,左侧用零填充(范围000000-999999)。这是对timezone可用指令集的扩展。

%F

等同于 %Y-%m-%d(ISO 8601 日期格式)。

%G

ISO 8601 基于周的年份,带有世纪的十进制数。 与 ISO 周数对应的 4 位数年份(参见 %V)。 这与 %Y 的格式和值相同,不同之处在于如果 ISO 周数属于上一年或下一年,则使用该年份 代替。

%g

类似于%G,但不包含世纪,即使用2位数的年份(00-99)。

%h

等同于 %b

%H

使用24小时制的小时数(范围00到23)。

%I

使用12小时制的小时数,以十进制数表示(范围01到12)。

%j

一年中的第几天,以十进制数表示(范围001到366)。

%k

小时(24小时制)作为十进制数(范围0到23)。 单个数字前面有一个空格。另请参见%H

%l

小时(12小时制)以十进制数表示(范围1到12)。 单个数字前有一个空格。另见%I

%m

月份以十进制数表示(范围01到12)。

%M

分钟作为十进制数(范围00到59)。

%n

换行符。Bokeh 文本目前不支持换行符。

%N

纳秒作为十进制数,左侧用零填充(范围000000000-999999999)。支持填充宽度说明符,即%3N显示最左边的3位数字。然而,由于timezone的限制,这只能精确到毫秒级别。

%p

根据给定的时间值,可以是“AM”或“PM”,或者是当前语言环境的相应字符串。中午被视为“PM”,午夜被视为“AM”。

%P

类似于 %p 但为小写:“am”或“pm”或当前区域设置的相应字符串。

%r

时间以上午或下午表示。在POSIX区域设置中,这等同于%I:%M:%S %p

%R

24小时制的时间(%H:%M)。有关包含秒的版本,请参见下面的%T

%s

自纪元(1970-01-01 00:00:00 +0000 (UTC))以来的秒数。

%S

第二个作为十进制数字(范围00到60)。(范围达到60是为了允许偶尔的闰秒。)

%t

一个制表符。Bokeh 文本目前不支持制表符。

%T

24小时制的时间(%H:%M:%S)。

%u

星期几以十进制表示,范围为1到7,星期一为1。 另见%w。

%U

当前年份的周数,以十进制数表示,范围从00到53,以第一个星期日作为第01周的第一天。另见%V%W

%V

当前年份的ISO 8601周数(参见注释)作为十进制数,范围从01到53,其中第1周是新的一年中至少有4天的第一周。另请参见%U和%W。

%w

星期几以十进制表示,范围为0到6,星期日为0。 另见%u。

%W

当前年份的周数,以十进制数表示,范围从00到53,以第一个星期一作为第01周的第一天。

%x

当前区域设置的首选日期表示,不包含时间。

%X

当前区域设置的首选时间表示,不包含日期。

%y

年份作为没有世纪的十进制数(范围00到99)。

%Y

年份作为包括世纪的十进制数字。

%z

+hhmm 或 -hhmm 数字时区(即与 UTC 的小时和分钟偏移量)。

%Z

时区名称或缩写。

%%

字面意义上的‘%’字符。

警告

客户端库 BokehJS 使用 timezone 库来格式化日期时间。以下列表的包含基于 timezone 声称支持“完整的 GNU 日期格式说明符”。然而,这一声明尚未针对此列表进行详尽测试。如果您发现格式未按预期工作,请提交 github issue,以便文档可以适当更新。

JSON Prototype
{
  "boundary_scaling": true, 
  "context": null, 
  "context_location": "below", 
  "context_which": "start", 
  "days": "%m/%d", 
  "hide_repeats": false, 
  "hourmin": "%H:%M", 
  "hours": "%Hh", 
  "id": "p57474", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "microseconds": "%fus", 
  "milliseconds": "%3Nms", 
  "minsec": ":%M:%S", 
  "minutes": ":%M", 
  "months": "%m/%Y", 
  "name": null, 
  "seconds": "%Ss", 
  "strip_leading_zeros": false, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "years": "%Y"
}
boundary_scaling = True#
Type:

Bool

是否放大位于下一个更高时间分辨率边界上的刻度。 例如,在小时尺度上,刻度序列为["00h", "06h", "12h", "18h", "00h"]时,将会放大"00h"刻度, 因为它们位于天尺度的边界上:["06/08", "06h", "12h", "18h", "06/09"]

context = None#
Type:

Nullable(Either(String, Instance(DatetimeTickFormatter)))

一种用于为context_which指定的刻度或刻度添加上下文的格式。有效值为:

context_location = 'below'#
Type:

Enum(枚举(上, 下, 左, 右))

相对于刻度标签文本基线,上下文应该渲染的位置。有效值为:“below”“above”“left”“right”

context_which = 'start'#
Type:

Enum(ContextWhich)

要为哪些刻度添加格式化的上下文字符串。有效值为: “start”, “end”, “center”, 和 “all”.

days = '%m/%d'#
Type:

String

days范围内显示日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

hide_repeats = False#
Type:

Bool

是否抑制重复的格式化刻度值。

例如,初始的一组刻度 ["06/07", "06/07", "06/07", "06/08", "06/08"] 将变为 ["06/07", "", "", "06/08", ""]。在确定重复时,只考虑基本标签,而不考虑任何额外的上下文。如果上下文本身是 DateTimeTickformatter,则如果需要,也可以为上下文单独设置此属性。

hourmin = '%H:%M'#
Type:

String

用于在hourmin(用于组合小时和分钟)范围内显示日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

hours = '%Hh'#
Type:

String

用于显示在hours范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

microseconds = '%fus'#
Type:

String

用于显示微秒范围内日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

milliseconds = '%3Nms'#
Type:

String

显示在毫秒范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

minsec = ':%M:%S'#
Type:

String

显示minsec(用于组合分钟和秒)范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

minutes = ':%M'#
Type:

String

显示在minutes范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

months = '%m/%Y'#
Type:

String

用于显示months范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

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也不会直接使用这些名称。

seconds = '%Ss'#
Type:

String

显示在seconds范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

strip_leading_zeros = False#
Type:

Either(Bool, Seq(Enum(ResolutionType)))

是否去除格式化刻度中的任何前导零。

有效值为:

  • TrueFalse(默认)用于设置在所有分辨率下的剥离。

  • 一系列分辨率类型,例如 ["microseconds", "milliseconds"],用于启用依赖于比例的前导零去除。

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也不会出于任何原因直接使用这些标签。

years = '%Y'#
Type:

String

用于显示years范围内的日期时间值的格式。

请参阅DatetimeTickFormatter帮助以获取所有支持格式的列表。

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 LogTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:TickFormatter

将连续范围的刻度值显示为某个基数的幂。

通常与LogTicker一起使用。

JSON Prototype
{
  "id": "p57494", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "min_exponent": 0, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "ticker": null
}
min_exponent = 0#
Type:

Int

以科学计数法显示的最小指数。如果不为零,则在从基数^-min_exponent到基数^min_exponent范围内的所有刻度都将以非指数形式显示。

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也不会出于任何原因直接使用这些标签。

ticker = None#
Type:

Nullable(Instance(Ticker))

对应的LogTicker,用于确定要使用的正确基数。如果未设置,格式化程序将默认使用基数10。

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 MercatorTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:BasicTickFormatter

一个用于WebMercator单位值的TickFormatter

一些地图绘图类型在内部使用WebMercator来描述坐标、绘图边界等。这些单位对人类不太友好。此刻度格式化程序将把WebMercator单位转换为纬度和经度,以便在轴上显示。

JSON Prototype
{
  "dimension": null, 
  "id": "p57500", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "power_limit_high": 5, 
  "power_limit_low": -3, 
  "precision": "auto", 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": [], 
  "use_scientific": true
}
dimension = None#
Type:

Nullable(Enum(LatLon))

指定是否格式化纬度或经度的刻度。

投影坐标是不可分离的,从Web Mercator计算纬度和经度刻度标签需要同时考虑两个维度的坐标。使用此属性指定应使用哪个结果进行显示。

通常,如果格式化程序用于x轴,则维度应为 "lon",如果格式化程序用于y轴,则维度 应为“lat”`

为了防止难以调试的错误,维度没有默认值。使用未配置的MercatorTickFormatter将导致验证错误和JavaScript控制台错误。

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也不会直接使用这些名称。

power_limit_high = 5#
Type:

Int

限制科学记数法的使用情况为:

log(x) >= power_limit_high
power_limit_low = -3#
Type:

Int

限制科学记数法的使用情况为:

log(x) <= power_limit_low
precision = 'auto'#
Type:

Either(Auto, Int)

在刻度标签中显示多少位精度。

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也不会出于任何原因直接使用这些标签。

use_scientific = True#
Type:

Bool

是否显示科学计数法。如果True,则何时使用科学计数法由power_limit_lowpower_limit_high控制。

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 NumeralTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:TickFormatter

基于人类可读格式字符串的刻度格式化器。

JSON Prototype
{
  "format": "0,0", 
  "id": "p57509", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "language": "en", 
  "name": null, 
  "rounding": "round", 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
format = '0,0'#
Type:

String

数字格式,如下表所定义:

数字:

数字

格式

字符串

10000

‘0,0.0000’

10,000.0000

10000.23

‘0,0’

10,000

10000.23

‘+0,0’

+10,000

-10000

‘0,0.0’

-10,000.0

10000.1234

‘0.000’

10000.123

10000.1234

‘0[.]00000’

10000.12340

-10000

‘(0,0.0000)’

(10,000.0000)

-0.23

‘.00’

-.23

-0.23

‘(.00)’

(.23)

0.23

‘0.00000’

0.23000

0.23

‘0.0[0000]’

0.23

1230974

‘0.0a’

1.2米

1460

‘0 a’

1 k

-104000

‘0a’

-104k

1

‘0o’

第一

52

‘0o’

第52

23

‘0o’

第23

100

‘0o’

第100

货币:

数字

格式

字符串

1000.234

‘$0,0.00’

$1,000.23

1000.2

‘0,0[.]00 $’

1,000.20 美元

1001

‘$ 0,0[.]00’

$ 1,001

-1000.234

‘($0,0)’

($1,000)

-1000.234

‘$0.00’

-$1000.23

1230974

‘($ 0.00 a)’

$ 1.23 百万

BYTES:

数字

格式

字符串

100

‘0b’

100B

2048

‘0 b’

2 KB

7884486213

‘0.0b’

7.3GB

3467479682787

‘0.000 b’

3.154 TB

百分比:

数字

格式

字符串

1

‘0%’

100%

0.974878234

‘0.000%’

97.488%

-0.43

‘0 %’

-43 %

0.43

‘(0.000 %)’

43.000 %

时间:

数字

格式

字符串

25

‘00:00:00’

0:00:25

238

‘00:00:00’

0:03:58

63846

‘00:00:00’

17:44:06

有关完整规范,请参见 http://numbrojs.com/format.html

language = 'en'#
Type:

Enum(NumeralLanguage)

用于格式化语言特定功能(例如千位分隔符)的语言。

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也不会直接使用这些名称。

rounding = 'round'#
Type:

Enum(RoundingFunction)

舍入函数(round, floor, ceil)及其同义词(nearest, rounddown, roundup)。

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 PrintfTickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:TickFormatter

基于printf样式格式字符串的刻度格式化器。

JSON Prototype
{
  "format": "%s", 
  "id": "p57516", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
format = '%s'#
Type:

String

数字格式,定义如下:格式字符串中的占位符由%标记,并后跟以下一个或多个元素,按此顺序排列:

  • An optional + sign

    导致结果在数值前带有加号或减号。默认情况下,仅在负数前使用-符号。

  • An optional padding specifier

    指定用于填充的字符(如果有)。可能的值为0或以'(单引号)开头的任何其他字符。默认是使用空格进行填充。

  • An optional - sign

    使sprintf将此占位符的结果左对齐。默认情况下是右对齐结果。

  • An optional number

    指定结果应具有的字符数。如果要返回的值短于此数字,则结果将被填充。

  • An optional precision modifier

    由一个.(点)后跟一个数字组成,指定浮点数应显示多少位数字。当用于字符串时,它会导致结果被截断。

  • A type specifier

    可以是以下任意一种:

    • % — 生成一个字面的 % 字符

    • b — 生成一个整数作为二进制数

    • c — 生成一个整数作为具有该ASCII值的字符

    • di — 生成一个有符号的十进制整数

    • e — 使用科学计数法生成一个浮点数

    • u — 生成一个整数作为无符号十进制数

    • f — 直接生成一个浮点数

    • o — 生成一个整数作为八进制数

    • s — 按原样生成字符串

    • x — 生成一个整数作为十六进制数(小写)

    • X — 生成一个整数作为十六进制数(大写)

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 TickFormatter(*args: Any, id: ID | None = None, **kwargs: Any)[source]#

基础类:Model

所有刻度格式化器类型的基类。

注意

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

JSON Prototype
{
  "id": "p57521", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "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也不会直接使用这些名称。

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

RELATIVE_DATETIME_CONTEXT() DatetimeTickFormatter[source]#