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#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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#
- 类型:
是否永远显示科学记数法。如果为
True
,则何时使用科学记数法由power_limit_low
和power_limit_high
控制。
- apply_theme(property_values: dict[str, Any]) None #
应用一组主题值,这些值将用于代替默认值,但不会覆盖应用程序设置的值。
传递的字典可以保留原样并与其他实例共享以节省内存(因此调用方和
HasProps
实例都不应修改它)。- 参数:
property_values (dict) – 要代替默认值使用的主题值
- 返回值:
None
- classmethod clear_extensions() None #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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 #
- 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#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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 #
- 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)
- 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 = {}#
-
名称到 Python 对象的映射。特别是,这些对象可以是 Bokeh 的模型。这些对象作为回调的命名参数的值提供给格式化程序的代码片段。
- code = ''#
- 类型:
一段 JavaScript 代码,用于将单个刻度值重新格式化为所需的格式。变量
tick
将包含未格式化的刻度值,预计在渲染时出现在代码片段命名空间中。此外,还可以使用以下变量:
ticks
,一个由刻度器定位的所有轴刻度的数组,index
,tick
在ticks
中的位置,以及如果存在,则
args
映射的键。
如果您发现需要缓存昂贵的
ticks
依赖计算,您可以将其存储在this
变量上。示例
code = ''' this.precision = this.precision || (ticks.length > 5 ? 1 : 2); return Math.floor(tick) + " + " + (tick % 1).toFixed(this.precision); '''
- name = None#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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 #
- 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)
- 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#
- 类型:
是否将恰好位于下一较高时间分辨率边界的刻度向上扩展。例如,在小时刻度上,[“00h”, “06h”, “12h”, 18h”, “00h”] 的刻度序列将看到 “00h” 刻度的向上扩展,因为它们位于日刻度边界上:[“06/08”, “06h”, “12h”, 18h”, “06/09”]。
- context = None#
-
用于向由
context_which
指定的刻度或刻度添加上下文的格式。有效值为无,不添加上下文
标准
DatetimeTickFormatter
格式字符串,单个格式在所有刻度上使用另一个
DatetimeTickFormatter
实例,以获得与刻度相关的上下文
- context_location = 'below'#
- 类型:
Enum
(Enumeration(above, below, left, right))
相对于刻度标签文本基线,上下文应在何处呈现。有效值为:“below”、“above”、“left”和“right”。
- context_which = 'start'#
- 类型:
在哪个刻度或刻度上添加格式化的上下文字符串。有效值为:“start”、“end”、“center” 和 “all”。
- days = '%m/%d'#
- 类型:
用于在
days
范围内显示日期时间值的格式。有关所有支持格式的列表,请参阅
DatetimeTickFormatter
帮助。
- hide_repeats = False#
- 类型:
是否要抑制重复的格式化刻度值。
例如,一组初始刻度
["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#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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
)))
是否要删除格式化刻度中的任何前导零。
有效值为
True
或False
(默认值)用于设置所有分辨率的删除操作。一系列分辨率类型,例如
["microseconds", "milliseconds"]
,用于启用依赖于比例的删除前导零的操作。
- syncable = True#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
-
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 #
- 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)
- 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#
- 类型:
以科学计数法格式化的最小指数。如果为零,则范围内的所有刻度值从 base^-min_exponent 到 base^min_exponent 将不使用指数形式显示。
- name = None#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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
中。- 返回值:
属性名称
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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 #
- 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)
- 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#
-
指定是要格式化纬度的刻度还是经度的刻度。
投影坐标不可分离,从 WebMercator 计算纬度和经度刻度标签需要考虑来自两个维度的坐标。使用此属性指定应使用哪个结果进行显示。
通常,如果格式化程序用于 x 轴,则维度应为
"lon"
,如果格式化程序用于 y 轴,则维度应为 “lat”`.为了防止难以调试的错误,维度没有默认值。使用未配置的
MercatorTickFormatter
将导致验证错误和 JavaScript 控制台错误。
- name = None#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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#
- 类型:
是否永远显示科学记数法。如果为
True
,则何时使用科学记数法由power_limit_low
和power_limit_high
控制。
- apply_theme(property_values: dict[str, Any]) None #
应用一组主题值,这些值将用于代替默认值,但不会覆盖应用程序设置的值。
传递的字典可以保留原样并与其他实例共享以节省内存(因此调用方和
HasProps
实例都不应修改它)。- 参数:
property_values (dict) – 要代替默认值使用的主题值
- 返回值:
None
- classmethod clear_extensions() None #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
-
properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str,
- 参数:
include_defaults (bool, 可选) – 是否包括自对象创建以来未明确设置的属性。(默认值:True)
- 返回值:
从属性名称到其值的映射
- 返回类型:
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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 #
- 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)
- 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'#
- 类型:
用于格式化语言特定功能(例如千位分隔符)的语言。
- name = None#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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'#
- 类型:
舍入函数(round、floor、ceil)及其同义词(nearest、rounddown、roundup)。
- syncable = True#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- 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 #
- 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)
- 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 值的字符生成d
或i
— 将整数作为带符号的十进制数生成e
— 使用科学记数法生成浮点数u
— 将整数作为无符号十进制数生成f
— 按原样生成浮点数o
— 将整数作为八进制数生成s
— 按原样生成字符串x
— 将整数作为十六进制数(小写)生成X
— 将整数作为十六进制数(大写)生成
- name = None#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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 #
- 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)
- 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#
-
此模型的任意用户提供名称。
当查询文档以检索特定 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#
- 类型:
指示此模型是否应在 Web 浏览器中更新时同步回 Bokeh 服务器。设置为
False
可能有助于减少处理频繁更新的对象时产生的网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调触发。但是,任何 JS 端回调仍将起作用。
- tags = []#
- 类型:
一个可选的任意用户提供值的列表,用于附加到此模型。
当查询文档以检索特定 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 #
清除任何当前定义的自定义扩展。
序列化调用将导致所有当前定义的自定义扩展包含在生成的文档中,无论它们是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]] #
按定义顺序排列的属性描述符列表。
- equals(other: HasProps) bool #
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None #
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一个简化添加
CustomJS
回调的便利方法,以便在另一个 Bokeh 模型属性更改值时更新一个 Bokeh 模型属性。- 参数:
在版本 1.1 中添加
- 引发:
示例
使用
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
的属性的描述符- 返回类型:
- 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]] #
收集该类上所有具有引用属性的名称。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包含在任何父类上定义的属性。
非可序列化属性将被跳过,属性值将采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor[Any]], bool], *, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
使用谓词查询
HasProps
实例的属性值。
- 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
- RELATIVE_DATETIME_CONTEXT() DatetimeTickFormatter [source]#