formatters#

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

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

基类: TickFormatter

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

JSON 原型
{
  "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#
类型:

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#
类型:

Int

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

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

Int

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

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

Either(Auto, Int)

在刻度标签中显示的精度位数。

syncable = True#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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#
类型:

Bool

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

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

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

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

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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 原型
{
  "id": "p57464", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
name = None#
类型:

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#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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 实例都不应修改它)。

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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()

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model |
返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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)[source]#

基类: TickFormatter

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

警告

此 Bokeh 模型的明确目的是嵌入原始 JavaScript 代码,供浏览器执行。如果代码的任何部分源于不可信的用户输入,则您必须采取适当的措施对用户输入进行清理,然后再传递给 Bokeh。

JSON 原型
{
  "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 = {}#
类型:

Dict(String, AnyRef)

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

code = ''#
类型:

字符串

一段 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#
类型:

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#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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 实例都不应修改它)。

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

widget.on_change('value', callback1, callback2, ..., callback_n)
on_event(bokeh.events 中的特定事件。

classmethod parameters() list[Parameter]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

set_from_json(name: str, value: Any, *, setter: Setter <

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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),作为两位数的整数。

%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 周数(见 %V)的 4 位数年份。这与 %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 date 格式说明符的完整集合”的声明。但是,此声明尚未针对此列表进行全面测试。如果您发现格式无法按预期工作,请提交 github 问题,以便相应地更新文档。

JSON 原型
{
  "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#
类型:

Bool

是否将恰好位于下一较高时间分辨率边界的刻度向上扩展。例如,在小时刻度上,[“00h”, “06h”, “12h”, 18h”, “00h”] 的刻度序列将看到 “00h” 刻度的向上扩展,因为它们位于日刻度边界上:[“06/08”, “06h”, “12h”, 18h”, “06/09”]。

context = None#
类型:

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

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

context_location = 'below'#
类型:

Enum(Enumeration(above, below, left, right))

相对于刻度标签文本基线,上下文应在何处呈现。有效值为:“below”、“above”、“left”和“right”。

context_which = 'start'#
类型:

Enum(ContextWhich)

在哪个刻度或刻度上添加格式化的上下文字符串。有效值为:“start”“end”“center”“all”

days = '%m/%d'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

hide_repeats = False#
类型:

Bool

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

例如,一组初始刻度 ["06/07", "06/07", "06/07", "06/08", "06/08"] 将变为 ["06/07", "", "", "06/08", ""]。在确定重复项时,只考虑基本标签,不包括任何附加上下文。如果上下文本身是一个 DateTimeTickformatter,那么如果需要,也可以分别为上下文设置此属性。

hourmin = '%H:%M'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

hours = '%Hh'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

microseconds = '%fus'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

milliseconds = '%3Nms'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

minsec = ':%M:%S'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

minutes = ':%M'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

months = '%m/%Y'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

name = None#
类型:

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'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

strip_leading_zeros = False#
类型:

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

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

有效值为

  • TrueFalse(默认值)用于设置所有分辨率的删除操作。

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

syncable = True#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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'#
类型:

字符串

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

有关所有支持格式的列表,请参阅 DatetimeTickFormatter 帮助。

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

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

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

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]
参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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 原型
{
  "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#
类型:

Int

以科学计数法格式化的最小指数。如果为零,则范围内的所有刻度值从 base^-min_exponent 到 base^min_exponent 将不使用指数形式显示。

name = None#
类型:

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#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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#
类型:

Nullable(Instance(Ticker))

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

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

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

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

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str,
参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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]#

Bases: BasicTickFormatter

用于 WebMercator 单位值的 TickFormatter

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

JSON 原型
{
  "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#
类型:

Nullable(Enum(LatLon))

指定是要格式化纬度的刻度还是经度的刻度。

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

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

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

name = None#
类型:

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#
类型:

Int

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

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

Int

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

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

Either(Auto, Int)

在刻度标签中显示的精度位数。

syncable = True#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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#
类型:

Bool

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

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

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

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

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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, 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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str,
参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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 原型
{
  "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'#
类型:

字符串

数字格式,如以下表格中定义

数字:

数字

格式

字符串

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.2m

1460

‘0 a’

1 k

-104000

‘0a’

-104k

1

‘0o’

1st

52

‘0o’

52nd

23

‘0o’

23rd

100

‘0o’

100th

货币:

数字

格式

字符串

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 m

字节:

数字

格式

字符串

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'#
类型:

Enum(NumeralLanguage)

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

name = None#
类型:

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'#
类型:

Enum(RoundingFunction)

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

syncable = True#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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 实例都不应修改它)。

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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 PropertyDescriptor,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

query_properties_with_values(query: Callable[[<

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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 原型
{
  "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'#
类型:

字符串

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

  • 可选的 + 符号

    使结果在数字值前面加上加号或减号。默认情况下,仅在负数上使用 - 符号。

  • 可选的填充说明符

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

  • 可选的 - 符号

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

  • 可选的数字

    指定结果应包含多少个字符。如果要返回的值小于此数字,则结果将被填充。

  • 可选的精度修饰符

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

  • 类型说明符

    可以是以下任何一种

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

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

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

    • di — 将整数作为带符号的十进制数生成

    • e — 使用科学记数法生成浮点数

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

    • f — 按原样生成浮点数

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

    • s — 按原样生成字符串

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

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

name = None#
类型:

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#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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 实例都不应修改它)。

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

widget.on_change('value', callback1, callback2, ..., callback_n)

当指定事件发生在该模型上时,运行回调函数。

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

classmethod parameters() list[Parameter]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

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

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model |
返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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]#

Bases: Model

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

注意

这是一个用于帮助组织 Bokeh 模型类型层次结构的抽象基类。**它本身不适合实例化。**

JSON 原型
{
  "id": "p57521", 
  "js_event_callbacks": {
    "type": "map"
  }, 
  "js_property_callbacks": {
    "type": "map"
  }, 
  "name": null, 
  "subscribed_events": {
    "type": "set"
  }, 
  "syncable": true, 
  "tags": []
}
name = None#
类型:

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#
类型:

Bool

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

注意

将此属性设置为 False 将阻止此对象上的任何 on_change() 回调触发。但是,任何 JS 端回调仍将起作用。

tags = []#
类型:

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 实例都不应修改它)。

参数:

property_values (dict) – 要代替默认值使用的主题值

返回值:

None

classmethod clear_extensions() None#

清除任何当前定义的自定义扩展。

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

clone(**overrides: Any) Self#

复制一个 HasProps 对象。

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

classmethod dataspecs() dict[str, DataSpec]#

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

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

返回值:

DataSpec 属性的名称

返回类型:

set[str]

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

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

destroy() None#

清理对文档和属性的引用

equals(other: HasProps) bool#

模型的结构相等性。

参数:

other (HasProps) – 要比较的另一个实例

返回值:

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

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

这是一个简化添加 CustomJS 回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。

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

  • other (Model) – 要链接到 self.attr 的 Bokeh 模型

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

  • attr_selector (int | str) – 链接可索引 attr 中的项的索引

在版本 1.1 中添加

引发:

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,给定属性名称。

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

  • raises (bool) – 如果缺少,是否引发异常或返回 None

返回值:

名为 name 的属性的描述符

返回类型:

PropertyDescriptor

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

attr 发生变化时,在该对象上添加一个回调函数以触发。

参数:
  • attr (str) – 该对象上的属性名称

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

返回值:

None

示例

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]#

生成适合从 glyph 派生的函数的 Python Parameter 值。

返回值:

list(Parameter)

classmethod properties

收集该类上属性的名称。

警告

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

返回值:

属性名称

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

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

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

返回值:

具有引用的属性名称

返回类型:

set[str]

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

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

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

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

参数:

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

返回值:

从属性名称到其值的映射

返回类型:

dict

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

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

参数:
  • query (callable) – 接受属性描述符并返回 True 或 False 的可调用对象

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

返回值:

匹配属性的属性名称和值的映射

返回类型:

dict

references() set[Model]#

返回此对象引用的所有 Models

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

从该对象中删除回调

select(selector: SelectorType) Iterable[Model]#

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

参数:

selector (JSON-like)

返回值:

seq[Model]

select_one(selector: SelectorType) Model | None#

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

返回值:

Model

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

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

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

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

  • setter (ClientSession or ServerSession or None, optional) –

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

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

返回值:

None

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

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

参数:
  • selector (JSON-like)

  • updates (dict)

返回值:

None

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

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

结果作为字典从属性名到值返回,如果此实例没有主题覆盖任何值,则为 None

返回值:

dict 或 None

to_serializable(serializer: Serializer) ObjectRefRep#

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

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

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

返回值:

None

update(**kwargs: Any) None#

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

返回值:

None

示例

以下是等效的

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]#