注解#
用于各种可以添加到绘图中的注解的渲染器。
- class Angular(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
CustomDimensional
角度测量的单位。
JSON 原型
{ "basis": { "entries": [ [ "\u00b0", [ 1, "^\\circ", "degree" ] ], [ "'", [ 0.016666666666666666, "^\\prime", "minute" ] ], [ "''", [ 0.0002777777777777778, "^{\\prime\\prime}", "second" ] ] ], "type": "map" }, "exclude": [], "id": "p52964", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 3, 6, 12, 60, 120, 240, 360 ] }
- basis = {'°': (1, '^\\circ', 'degree'), "'": (0.016666666666666666, '^\\prime', 'minute'), "''": (0.0002777777777777778, '^{\\prime\\prime}', 'second')}#
-
定义测量单位的基础。
这包括短单位名称与其对应的比例因子、TeX 名称和可选长名称之间的映射。例如,定义角度测量单位的基础是
basis = { "°": (1, "^\circ", "degree"), "'": (1/60, "^\prime", "minute"), "''": (1/3600, "^{\prime\prime}", "second"), }
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 Annotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
-
所有注释模型的基本类。
注意
这是一个抽象基类,用于帮助组织 Bokeh 模型类型的层次结构。它本身实例化没有用处。
JSON 原型
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p52972", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 Arrow(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
DataAnnotation
将箭头渲染为注释。
有关绘制箭头的信息,请参阅 箭头。
JSON 原型
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "end": { "id": "p52995", "name": "OpenHead", "type": "object" }, "end_units": "data", "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p52991", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p52993", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p52994", "name": "UnionRenderers", "type": "object" } }, "id": "p52992", "name": "ColumnDataSource", "type": "object" }, "start": null, "start_units": "data", "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_end": { "field": "x_end", "type": "field" }, "x_range_name": "default", "x_start": { "field": "x_start", "type": "field" }, "y_end": { "field": "y_end", "type": "field" }, "y_range_name": "default", "y_start": { "field": "y_start", "type": "field" } }
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- end_units = 'data'#
- Type:
end_x 和 end_y 属性的单位类型。默认解释为“数据空间”单位。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_cap = 'butt'#
- Type:
LineCapSpec
箭头主体的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
箭头主体的线条虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
箭头主体的线条虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
箭头主体的线条连接值。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- source = ColumnDataSource(id='p53102', ...)#
- Type:
用于在绘图上渲染注释的本地数据源。
- start_units = 'data'#
- Type:
start_x 和 start_y 属性的单位类型。默认解释为“数据空间”单位。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- x_end = Field(field='x_end', transform=Unspecified, units=Unspecified)#
- Type:
用于定位箭头末端的 x 坐标。
- x_start = Field(field='x_start', transform=Unspecified, units=Unspecified)#
- Type:
用于定位箭头起点的 x 坐标。
- y_end = Field(field='y_end', transform=Unspecified, units=Unspecified)#
- Type:
用于定位箭头末端的 y 坐标。
- y_start = Field(field='y_start', transform=Unspecified, units=Unspecified)#
- Type:
用于定位箭头起点的 y 坐标。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 ArrowHead(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
Marking
箭头箭头的基类。
注意
这是一个抽象基类,用于帮助组织 Bokeh 模型类型的层次结构。它本身实例化没有用处。
JSON 原型
{ "id": "p53170", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "size": { "type": "value", "value": 25 }, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [] }
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- size = 25#
- Type:
箭头箭头的大小,以像素为单位。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 Band(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
DataAnnotation
沿维度渲染填充区域带。
有关绘制带的信息,请参阅 带 (Bands)。
JSON 原型
{ "base": { "field": "base", "type": "field" }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "dimension": "height", "elements": [], "fill_alpha": 0.4, "fill_color": "#fff9ba", "group": null, "hatch_alpha": 1.0, "hatch_color": "black", "hatch_extra": { "type": "map" }, "hatch_pattern": null, "hatch_scale": 12.0, "hatch_weight": 1.0, "html_attributes": { "type": "map" }, "html_id": null, "id": "p53175", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": 0.3, "line_cap": "butt", "line_color": "#cccccc", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "lower": { "field": "lower", "type": "field" }, "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p53177", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p53178", "name": "UnionRenderers", "type": "object" } }, "id": "p53176", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "upper": { "field": "upper", "type": "field" }, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- base_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- fill_alpha = 0.4#
- Type:
带的填充透明度值。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- hatch_alpha = 1.0#
- Type:
带的阴影线透明度值。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_alpha = 0.3#
- Type:
带的线条透明度值。
- lower_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- source = ColumnDataSource(id='p53307', ...)#
- Type:
用于在绘图上渲染注释的本地数据源。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- upper_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 BoxAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基类:
Annotation
,AreaVisuals
将阴影矩形区域渲染为注释。
有关绘制框注释的信息,请参阅 框注释 。
JSON 原型
{ "border_radius": 0, "bottom": { "attributes": { "symbol": "bottom", "target": "frame" }, "id": "p53350", "name": "Node", "type": "object" }, "bottom_limit": null, "bottom_units": "data", "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "editable": false, "elements": [], "fill_alpha": 0.4, "fill_color": "#fff9ba", "group": null, "handles": { "attributes": { "all": { "attributes": { "fill_color": "white", "hover_fill_color": "lightgray" }, "id": "p53351", "name": "AreaVisuals", "type": "object" } }, "id": "p53352", "name": "BoxInteractionHandles", "type": "object" }, "hatch_alpha": 1.0, "hatch_color": "black", "hatch_extra": { "type": "map" }, "hatch_pattern": null, "hatch_scale": 12.0, "hatch_weight": 1.0, "hover_fill_alpha": 0.4, "hover_fill_color": null, "hover_hatch_alpha": 1.0, "hover_hatch_color": "black", "hover_hatch_extra": { "type": "map" }, "hover_hatch_pattern": null, "hover_hatch_scale": 12.0, "hover_hatch_weight": 1.0, "hover_line_alpha": 0.3, "hover_line_cap": "butt", "hover_line_color": null, "hover_line_dash": [], "hover_line_dash_offset": 0, "hover_line_join": "bevel", "hover_line_width": 1, "html_attributes": { "type": "map" }, "html_id": null, "id": "p53346", "inverted": false, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "left": { "attributes": { "symbol": "left", "target": "frame" }, "id": "p53347", "name": "Node", "type": "object" }, "left_limit": null, "left_units": "data", "level": "annotation", "line_alpha": 0.3, "line_cap": "butt", "line_color": "#cccccc", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "max_height": { "type": "number", "value": "+inf" }, "max_width": { "type": "number", "value": "+inf" }, "min_height": 0, "min_width": 0, "movable": "both", "name": null, "propagate_hover": false, "renderers": [], "resizable": "all", "right": { "attributes": { "symbol": "right", "target": "frame" }, "id": "p53348", "name": "Node", "type": "object" }, "right_limit": null, "right_units": "data", "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "symmetric": false, "syncable": true, "tags": [], "top": { "attributes": { "symbol": "top", "target": "frame" }, "id": "p53349", "name": "Node", "type": "object" }, "top_limit": null, "top_units": "data", "use_handles": false, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- border_radius = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
允许框具有圆角。
注意
此属性是实验性的,随时可能更改。
- bottom = Node(id='p53367', ...)#
-
框注释底边的 y 坐标。
- bottom_limit = None#
-
框移动的可选底部限制。
注意
此属性是实验性的,随时可能更改。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- fill_alpha = 0.4#
- Type:
框的填充 alpha 值。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- handles = BoxInteractionHandles(id='p53446', ...)#
- Type:
配置交互手柄的外观。
手柄可以按特异性递增的级别批量配置,其中每个级别(如果已定义)都会覆盖更通用的设置
all -> move, resize
resize -> sides, corners
sides -> left, right, top, bottom
corners -> top_left, top_right, bottom_left, bottom_right
注意
此属性是实验性的,随时可能更改。
- hatch_alpha = 1.0#
- Type:
框的阴影线 alpha 值。
- hover_fill_alpha = 0.4#
- Type:
悬停在框上时框的填充 alpha 值。
- hover_hatch_alpha = 1.0#
- Type:
悬停在框上时框的阴影线 alpha 值。
- hover_line_alpha = 0.3#
- Type:
悬停在框上时,框的线条 alpha 值。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- left = Node(id='p53622', ...)#
-
框注释左边缘的 x 坐标。
- left_limit = None#
-
框移动的可选左侧限制。
注意
此属性是实验性的,随时可能更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_alpha = 0.3#
- Type:
框的线条 alpha 值。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- resizable = 'all'#
-
如果设置了
editable
,则此属性允许配置允许移动哪些边缘组合,从而允许限制框的大小调整。注意
此属性是实验性的,随时可能更改。
- right = Node(id='p53763', ...)#
-
框注释右边缘的 x 坐标。
- right_limit = None#
-
框移动的可选右侧限制。
注意
此属性是实验性的,随时可能更改。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- top = Node(id='p53820', ...)#
-
框注释顶边缘的 y 坐标。
- top_limit = None#
-
框移动的可选顶部限制。
注意
此属性是实验性的,随时可能更改。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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
实例的属性值。
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
- 返回值:
seq[Model]
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何对象,则返回 None :param selector: :type selector: JSON-like
- 返回值:
Model
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
None
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
updates (dict)
- 返回值:
None
获取任何主题提供的值覆盖。
结果以从属性名称到值的字典形式返回,如果主题未覆盖此实例的任何值,则返回
None
。- 返回值:
dict 或 None
将此对象转换为可序列化的表示形式。
删除任何主题值并恢复默认值。
- 返回值:
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)
此模型附加到的
Document
(可以为None
)
基类:
Model
定义了框状注释的交互句柄。
JSON 原型
{ "all": { "name": "unset", "type": "symbol" }, "bottom": null, "bottom_left": null, "bottom_right": null, "corners": null, "id": "p53863", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "left": null, "move": null, "name": null, "resize": null, "right": null, "sides": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "top": null, "top_left": null, "top_right": null }
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
应用一组主题值,这些值将代替默认值使用,但不会覆盖应用程序设置的值。
传入的字典可以保持原样并与其他实例共享以节省内存(因此调用者和
HasProps
实例都不应修改它)。- 参数:
property_values (dict) – 用于代替默认值的主题值
- 返回值:
None
清除任何当前定义的自定义扩展。
序列化调用将导致任何当前定义的自定义扩展包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
复制一个
HasProps
对象。这将创建原始模型的浅克隆,即任何可变容器或子模型都不会被复制。允许在克隆时覆盖特定属性。
属性描述符列表,按定义顺序排列。
清理对文档和属性的引用
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一种便捷方法,简化了添加
CustomJS
回调,以便在一个 Bokeh 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
将
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)
给定属性名称,查找类上 Bokeh 属性的
PropertyDescriptor
。- 参数:
- 返回值:
名为
name
的属性的描述符- Return type:
在此对象上添加回调,以便在
attr
更改时触发。- 参数:
attr (str) – 此对象上的属性名称
*callbacks (callable) – 要注册的回调函数
- 返回值:
None
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 bokeh.events 中的特定事件。
生成适用于从 glyph 派生的函数的 Python
Parameter
值。- 返回值:
list(Parameter)
收集此类上的属性名称。
警告
在 Bokeh 的未来版本中,此方法将返回一个字典,将属性名称映射到属性对象。为了使当前对此方法的使用具有前瞻性,请将返回值包装在
list
中。- 返回值:
属性名称
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包括在任何父类上定义的属性。
不可序列化的属性将被跳过,并且属性值采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损地重构对象实例所需的信息。
使用谓词查询
HasProps
实例的属性值。
返回此对象引用的所有
Models
。
- select(selector: SelectorType) Iterable[Model] #
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
- 返回值:
seq[Model]
- select_one(selector: SelectorType) Model | None #
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何对象,则返回 None :param selector: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 ColorBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
BaseColorBar
渲染基于颜色映射器的颜色栏。
有关绘制颜色栏的信息,请参阅颜色栏。
JSON 原型
{ "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "background_hatch_alpha": 1.0, "background_hatch_color": "black", "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "bar_line_alpha": 1.0, "bar_line_cap": "butt", "bar_line_color": null, "bar_line_dash": [], "bar_line_dash_offset": 0, "bar_line_join": "bevel", "bar_line_width": 1, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "color_mapper": { "name": "unset", "type": "symbol" }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "display_high": null, "display_low": null, "elements": [], "formatter": "auto", "group": null, "height": "auto", "html_attributes": { "type": "map" }, "html_id": null, "id": "p53867", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label_standoff": 5, "level": "annotation", "location": "top_right", "major_label_overrides": { "type": "map" }, "major_label_policy": { "id": "p53868", "name": "NoOverlap", "type": "object" }, "major_label_text_align": "left", "major_label_text_alpha": 1.0, "major_label_text_baseline": "bottom", "major_label_text_color": "#444444", "major_label_text_font": "helvetica", "major_label_text_font_size": "11px", "major_label_text_font_style": "normal", "major_label_text_line_height": 1.2, "major_label_text_outline_color": null, "major_tick_in": 5, "major_tick_line_alpha": 1.0, "major_tick_line_cap": "butt", "major_tick_line_color": "#ffffff", "major_tick_line_dash": [], "major_tick_line_dash_offset": 0, "major_tick_line_join": "bevel", "major_tick_line_width": 1, "major_tick_out": 0, "margin": 30, "minor_tick_in": 0, "minor_tick_line_alpha": 1.0, "minor_tick_line_cap": "butt", "minor_tick_line_color": null, "minor_tick_line_dash": [], "minor_tick_line_dash_offset": 0, "minor_tick_line_join": "bevel", "minor_tick_line_width": 1, "minor_tick_out": 0, "name": null, "orientation": "auto", "padding": 10, "propagate_hover": false, "renderers": [], "scale_alpha": 1.0, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticker": "auto", "title": null, "title_standoff": 2, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "visible": true, "width": "auto", "x_range_name": "default", "y_range_name": "default" }
- background_fill_alpha = 0.95#
- Type:
颜色栏背景样式的填充 alpha 值。
- background_hatch_alpha = 1.0#
- Type:
颜色栏背景样式的阴影线 alpha 值。
- bar_line_alpha = 1.0#
- Type:
颜色刻度栏轮廓的线条 alpha 值。
- border_line_alpha = 1.0#
- Type:
颜色栏边框轮廓的线条 alpha 值。
- color_mapper = Undefined#
- Type:
一个包含要渲染的调色板的颜色映射器。
警告
如果未设置
ColorMapper
的 low 和 high 属性,则不会渲染刻度和刻度标签。此外,如果将LogTicker
传递给 ticker 参数,并且 color_mapper 的 low 和 high 值的对数中的一个或两个为非数值(即 low=0),则不会渲染刻度和刻度标签。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- formatter = 'auto'#
- Type:
用于格式化刻度视觉外观的
TickFormatter
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- location = 'top_right'#
-
颜色栏应绘制自身的位置。它可以是
bokeh.core.enums.Anchor
的枚举值之一,也可以是(x, y)
元组,指示屏幕坐标中的绝对位置(从左下角开始的像素)。警告
如果颜色栏放置在侧面板中,则位置可能必须设置为 (0,0)。
- major_label_policy = NoOverlap(id='p53947', ...)#
- Type:
Instance
(LabelingPolicy
)
允许过滤掉标签,例如,整理标签以避免重叠。
- major_label_text_alpha = 1.0#
- Type:
主刻度标签的文本 alpha 值。
- major_label_text_baseline = 'bottom'#
- Type:
主刻度标签的文本基线。
- major_tick_line_alpha = 1.0#
- Type:
主要刻度线的线条 alpha 值。
- minor_tick_line_alpha = 1.0#
- Type:
次要刻度线的线条 alpha 值。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- orientation = 'auto'#
- Type:
色条应垂直还是水平方向。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- title_text_alpha = 1.0#
- Type:
标题文本的文本 alpha 值。
- title_text_baseline = 'bottom'#
- Type:
标题文本的文本基线值。
- apply_theme(property_values: dict[str, Any]) None #
应用一组主题值,这些值将代替默认值使用,但不会覆盖应用程序设置的值。
传入的字典可以保持原样并与其他实例共享以节省内存(因此调用者和
HasProps
实例都不应修改它)。- 参数:
property_values (dict) – 用于代替默认值的主题值
- 返回值:
None
- classmethod clear_extensions() None #
清除任何当前定义的自定义扩展。
序列化调用将导致任何当前定义的自定义扩展包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor] #
属性描述符列表,按定义顺序排列。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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] #
给定属性名称,查找类上 Bokeh 属性的
PropertyDescriptor
。- 参数:
- 返回值:
名为
name
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 bokeh.events 中的特定事件。
- classmethod parameters() list[Parameter] #
生成适用于从 glyph 派生的函数的 Python
Parameter
值。- 返回值:
list(Parameter)
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property]] #
收集此类上的属性名称。
警告
在 Bokeh 的未来版本中,此方法将返回一个字典,将属性名称映射到属性对象。为了使当前对此方法的使用具有前瞻性,请将返回值包装在
list
中。- 返回值:
属性名称
- classmethod properties_with_refs() dict[str, Property]] #
收集此类上所有也具有引用的属性的名称。
此方法始终遍历类层次结构,并包括在任何父类上定义的属性。
- properties_with_values(*, include_defaults: bool = True, include_undefined: bool = False) dict[str, Any] #
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包括在任何父类上定义的属性。
不可序列化的属性将被跳过,并且属性值采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损地重构对象实例所需的信息。
- query_properties_with_values(query: Callable[[PropertyDescriptor], 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 ContourColorBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
BaseColorBar
用于轮廓的颜色条。
支持显示轮廓图可能具有的阴影图案和线条样式,以及通常的填充样式。
请勿手动创建这些对象,而应使用
ContourRenderer.color_bar
。JSON 原型
{ "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "background_hatch_alpha": 1.0, "background_hatch_color": "black", "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "bar_line_alpha": 1.0, "bar_line_cap": "butt", "bar_line_color": null, "bar_line_dash": [], "bar_line_dash_offset": 0, "bar_line_join": "bevel", "bar_line_width": 1, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "fill_renderer": { "name": "unset", "type": "symbol" }, "formatter": "auto", "group": null, "height": "auto", "html_attributes": { "type": "map" }, "html_id": null, "id": "p54056", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label_standoff": 5, "level": "annotation", "levels": [], "line_renderer": { "name": "unset", "type": "symbol" }, "location": "top_right", "major_label_overrides": { "type": "map" }, "major_label_policy": { "id": "p54057", "name": "NoOverlap", "type": "object" }, "major_label_text_align": "left", "major_label_text_alpha": 1.0, "major_label_text_baseline": "bottom", "major_label_text_color": "#444444", "major_label_text_font": "helvetica", "major_label_text_font_size": "11px", "major_label_text_font_style": "normal", "major_label_text_line_height": 1.2, "major_label_text_outline_color": null, "major_tick_in": 5, "major_tick_line_alpha": 1.0, "major_tick_line_cap": "butt", "major_tick_line_color": "#ffffff", "major_tick_line_dash": [], "major_tick_line_dash_offset": 0, "major_tick_line_join": "bevel", "major_tick_line_width": 1, "major_tick_out": 0, "margin": 30, "minor_tick_in": 0, "minor_tick_line_alpha": 1.0, "minor_tick_line_cap": "butt", "minor_tick_line_color": null, "minor_tick_line_dash": [], "minor_tick_line_dash_offset": 0, "minor_tick_line_join": "bevel", "minor_tick_line_width": 1, "minor_tick_out": 0, "name": null, "orientation": "auto", "padding": 10, "propagate_hover": false, "renderers": [], "scale_alpha": 1.0, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticker": "auto", "title": null, "title_standoff": 2, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "visible": true, "width": "auto", "x_range_name": "default", "y_range_name": "default" }
- background_fill_alpha = 0.95#
- Type:
颜色栏背景样式的填充 alpha 值。
- background_hatch_alpha = 1.0#
- Type:
颜色栏背景样式的阴影线 alpha 值。
- bar_line_alpha = 1.0#
- Type:
颜色刻度栏轮廓的线条 alpha 值。
- border_line_alpha = 1.0#
- Type:
颜色栏边框轮廓的线条 alpha 值。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- fill_renderer = Undefined#
- Type:
用于填充轮廓多边形的字形渲染器。
- formatter = 'auto'#
- Type:
用于格式化刻度视觉外观的
TickFormatter
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_renderer = Undefined#
- Type:
用于轮廓线的字形渲染器。
- location = 'top_right'#
-
颜色栏应绘制自身的位置。它可以是
bokeh.core.enums.Anchor
的枚举值之一,也可以是(x, y)
元组,指示屏幕坐标中的绝对位置(从左下角开始的像素)。警告
如果颜色栏放置在侧面板中,则位置可能必须设置为 (0,0)。
- major_label_policy = NoOverlap(id='p54136', ...)#
- Type:
Instance
(LabelingPolicy
)
允许过滤掉标签,例如,整理标签以避免重叠。
- major_label_text_alpha = 1.0#
- Type:
主刻度标签的文本 alpha 值。
- major_label_text_baseline = 'bottom'#
- Type:
主刻度标签的文本基线。
- major_tick_line_alpha = 1.0#
- Type:
主要刻度线的线条 alpha 值。
- minor_tick_line_alpha = 1.0#
- Type:
次要刻度线的线条 alpha 值。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- orientation = 'auto'#
- Type:
色条应垂直还是水平方向。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- title_text_alpha = 1.0#
- Type:
标题文本的文本 alpha 值。
- title_text_baseline = 'bottom'#
- Type:
标题文本的文本基线值。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 HTMLAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
Annotation
HTML-based 注释的基类。
注意
所有继承自此基类的注释都可以附加到画布上,但不会渲染到画布上,因此它们不会出现在保存的绘图中。只有
export_png()
函数可以保留 HTML 注释。注意
这是一个抽象基类,用于帮助组织 Bokeh 模型类型的层次结构。它本身实例化没有用处。
JSON 原型
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54245", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 HTMLLabel(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
HTMLTextAnnotation
Render a single HTML label as an annotation.
Label
will render a single text label at givenx
andy
coordinates, which can be in either screen (pixel) space, or data (axis range) space.The label can also be configured with a screen space offset from
x
andy
, by using thex_offset
andy_offset
properties.Additionally, the label can be rotated with the
angle
property.There are also standard text, fill, and line properties to control the appearance of the text, its background, as well as the rectangular bounding box border.
See Labels for information on plotting labels.
JSON 原型
{ "angle": 0, "angle_units": "rad", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54264", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "padding": 0, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_align": "left", "text_alpha": 1.0, "text_baseline": "bottom", "text_color": "#444444", "text_font": "helvetica", "text_font_size": "16px", "text_font_style": "normal", "text_line_height": 1.2, "text_outline_color": null, "visible": true, "x": { "name": "unset", "type": "symbol" }, "x_offset": 0, "x_range_name": "default", "x_units": "data", "y": { "name": "unset", "type": "symbol" }, "y_offset": 0, "y_range_name": "default", "y_units": "data" }
- angle_units = 'rad'#
- Type:
单位的可接受值是
"rad"
和"deg"
- background_fill_alpha = 1.0#
- Type:
文本边框的填充 alpha 值。
- background_hatch_alpha = 1.0#
- Type:
文本边框的阴影线 alpha 值。
- border_line_alpha = 1.0#
- Type:
文本边框的线条 alpha 值。
- border_radius = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
允许标签的框具有圆角。为了获得最佳效果,应与
padding
结合使用。注意
此属性是实验性的,随时可能更改。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- padding = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
),Struct
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
标签文本与其边框之间额外的空间。
注意
此属性是实验性的,随时可能更改。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- text_alpha = 1.0#
- Type:
文本的文本 alpha 值。
- text_baseline = 'bottom'#
- Type:
文本的文本基线值。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 HTMLLabelSet(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
HTMLAnnotation
,DataAnnotation
将多个文本标签渲染为注释。
LabelSet
将在给定的x
和y
坐标处渲染多个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。在这种情况下(与单个Label
模型相反),x
和y
也可以是来自ColumnDataSource
的列的名称,在这种情况下,标签将使用指定列的坐标值进行“向量化”。标签还可以通过使用
x_offset
和y_offset
属性,配置与x
和y
的屏幕空间偏移。这些偏移可以通过提供数据源列的名称进行向量化。
There are also standard text, fill, and line properties to control the appearance of the text, its background, as well as the rectangular bounding box border.
此外,标签可以使用
angle
属性旋转(这也可能是列名)。JSON 原型
{ "angle": { "type": "value", "value": 0 }, "background_fill_alpha": { "type": "value", "value": 1.0 }, "background_fill_color": { "type": "value", "value": null }, "border_line_alpha": { "type": "value", "value": 1.0 }, "border_line_cap": { "type": "value", "value": "butt" }, "border_line_color": { "type": "value", "value": null }, "border_line_dash": { "type": "value", "value": [] }, "border_line_dash_offset": { "type": "value", "value": 0 }, "border_line_join": { "type": "value", "value": "bevel" }, "border_line_width": { "type": "value", "value": 1 }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54318", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p54320", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p54321", "name": "UnionRenderers", "type": "object" } }, "id": "p54319", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": { "field": "text", "type": "field" }, "text_align": { "type": "value", "value": "left" }, "text_alpha": { "type": "value", "value": 1.0 }, "text_baseline": { "type": "value", "value": "bottom" }, "text_color": { "type": "value", "value": "#444444" }, "text_font": { "type": "value", "value": "helvetica" }, "text_font_size": { "type": "value", "value": "16px" }, "text_font_style": { "type": "value", "value": "normal" }, "text_line_height": { "type": "value", "value": 1.2 }, "text_outline_color": { "type": "value", "value": null }, "visible": true, "x": { "field": "x", "type": "field" }, "x_offset": { "type": "value", "value": 0 }, "x_range_name": "default", "x_units": "data", "y": { "field": "y", "type": "field" }, "y_offset": { "type": "value", "value": 0 }, "y_range_name": "default", "y_units": "data" }
- angle_units = 'rad'#
- Type:
用于关联属性的单位:deg、rad、grad 或 turn
- border_line_cap = 'butt'#
- Type:
LineCapSpec
文本边框的线条端帽值。
- border_line_dash = []#
- Type:
DashPatternSpec
文本边框的线条虚线值。
- border_line_dash_offset = 0#
- Type:
IntSpec
文本边框的线条虚线偏移值。
- border_line_join = 'bevel'#
- Type:
LineJoinSpec
文本边框的线条连接值。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- source = ColumnDataSource(id='p54414', ...)#
- Type:
用于在绘图上渲染注释的本地数据源。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- text = Field(field='text', transform=Unspecified, units=Unspecified)#
- Type:
NullStringSpec
要渲染的文本值。
- text_align = 'left'#
- Type:
TextAlignSpec
文本的文本对齐值。
- text_baseline = 'bottom'#
- Type:
TextBaselineSpec
文本的文本基线值。
- text_font = Value(value='helvetica', transform=Unspecified, units=Unspecified)#
- Type:
文本的文本字体值。
- text_font_size = Value(value='16px', transform=Unspecified, units=Unspecified)#
- Type:
文本的文本字体大小值。
- text_font_style = 'normal'#
- Type:
FontStyleSpec
文本的文本字体样式值。
- text_line_height = 1.2#
- Type:
文本的文本行高值。
- x = Field(field='x', transform=Unspecified, units=Unspecified)#
- Type:
用于定位文本锚点的 x 坐标。
- y = Field(field='y', transform=Unspecified, units=Unspecified)#
- Type:
用于定位文本锚点的 y 坐标。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 HTMLTitle(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
HTMLTextAnnotation
将单个标题框渲染为注释。
有关绘制标题的信息,请参阅 标题。
JSON 原型
{ "align": "left", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54509", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "offset": 0, "padding": 0, "propagate_hover": false, "renderers": [], "standoff": 10, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_alpha": 1.0, "text_color": "#444444", "text_font": "helvetica", "text_font_size": "13px", "text_font_style": "bold", "text_line_height": 1.0, "text_outline_color": null, "vertical_align": "bottom", "visible": true, "x_range_name": "default", "y_range_name": "default" }
- background_fill_alpha = 1.0#
- Type:
文本边框的填充 alpha 值。
- background_hatch_alpha = 1.0#
- Type:
文本边框的阴影线 alpha 值。
- border_line_alpha = 1.0#
- Type:
文本边框的线条 alpha 值。
- border_radius = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
允许标签的框具有圆角。为了获得最佳效果,应与
padding
结合使用。注意
此属性是实验性的,随时可能更改。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- offset = 0#
- Type:
以像素为单位偏移文本(可以是正数或负数)。根据标题的位置在不同方向上移动文本
上方:向右移动标题
右侧:向下移动标题
下方:向右移动标题
左侧:向上移动标题
- padding = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
),Struct
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
标签文本与其边框之间额外的空间。
注意
此属性是实验性的,随时可能更改。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- text_alpha = 1.0#
- Type:
-
用于填充文本的透明度值。
可接受的值是介于 0 和 1 之间的浮点数(0 为完全透明,1 为完全不透明)。
- text_color = '#444444'#
- Type:
-
用于填充文本的颜色。
可接受的值包括:
任何 命名的 CSS 颜色,例如
'green'
、'indigo'
RGB(A) 十六进制字符串,例如,
'#FF0000'
、'#44444444'
CSS4 颜色字符串,例如,
'rgba(255, 0, 127, 0.6)'
、'rgb(0 127 0 / 1.0)'
或'hsl(60deg 100% 50% / 1.0)'
由介于 0 到 255 之间的整数组成的 3 元组 (r, g, b)
由 (r, g, b, a) 组成的 4 元组,其中 r、g、b 是介于 0 到 255 之间的整数,a 介于 0 和 1 之间
使用 0xRRGGBBAA 字节顺序模式的 32 位无符号整数
- text_font_style = 'bold'#
-
用于渲染文本的样式。
可接受的值包括:
'normal'
正常文本'italic'
斜体文本'bold'
粗体文本
- vertical_align = 'bottom'#
- Type:
文本在其封闭空间内的对齐方式,横跨文本方向。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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
实例的属性值。
- 描述:选择与选择器匹配的所有模型。
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
- 返回值:
seq[Model]
- 描述:选择与选择器匹配的第一个模型,如果没有模型匹配,则返回 None。
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何对象,则返回 None :param selector: :type selector: JSON-like
- 返回值:
Model
- 描述:从 JSON 数据设置属性值。
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
None
- 描述:使用给定的更新字典设置与选择器匹配的模型的属性。
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
updates (dict)
- 返回值:
None
- 描述:返回当前主题的值的字典。
获取任何主题提供的值覆盖。
结果以从属性名称到值的字典形式返回,如果主题未覆盖此实例的任何值,则返回
None
。- 返回值:
dict 或 None
- 描述:将对象转换为可序列化的表示形式。
将此对象转换为可序列化的表示形式。
- 描述:触发属性更改的通知。
- 描述:取消应用当前主题。
删除任何主题值并恢复默认值。
- 返回值:
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)
- 描述:与此模型关联的文档,如果没有,则为 None。
此模型附加到的
Document
(可以为None
)
-
类:
ImperialLength(*args: Any, id: ID | None = None, **kwargs: Any)
Bases:
CustomDimensional
英制长度单位。
JSON 原型
{ "basis": { "entries": [ [ "in", [ 0.08333333333333333, "in", "inch" ] ], [ "ft", [ 1, "ft", "foot" ] ], [ "yd", [ 3, "yd", "yard" ] ], [ "ch", [ 66, "ch", "chain" ] ], [ "fur", [ 660, "fur", "furlong" ] ], [ "mi", [ 5280, "mi", "mile" ] ], [ "lea", [ 15840, "lea", "league" ] ] ], "type": "map" }, "exclude": [], "id": "p54556", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 3, 6, 12, 60 ] }
- 描述:英制单位的基础定义。
-
定义测量单位的基础。
这包括短单位名称与其对应的比例因子、TeX 名称和可选长名称之间的映射。例如,定义角度测量单位的基础是
basis = { "°": (1, "^\circ", "degree"), "'": (1/60, "^\prime", "minute"), "''": (1/3600, "^{\prime\prime}", "second"), }
- 描述:要排除的属性名称列表。
- Type:
要避免的基础单位的子集。
- 描述:此对象的名称。
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- 描述:此对象是否应同步到客户端。
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- 描述:用户定义的标签,可以附加到此对象。
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- 描述:从此主题应用属性值。
应用一组主题值,这些值将代替默认值使用,但不会覆盖应用程序设置的值。
传入的字典可以保持原样并与其他实例共享以节省内存(因此调用者和
HasProps
实例都不应修改它)。- 参数:
property_values (dict) – 用于代替默认值的主题值
- 返回值:
None
- 描述:清除此类的所有扩展。
清除任何当前定义的自定义扩展。
序列化调用将导致任何当前定义的自定义扩展包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- 描述:返回此对象的副本。
复制一个
HasProps
对象。这将创建原始模型的浅克隆,即任何可变容器或子模型都不会被复制。允许在克隆时覆盖特定属性。
- 描述:返回此类的所有数据规格属性。
收集此类上所有
DataSpec
属性的名称。此方法始终遍历类层次结构,并包括在任何父类上定义的属性。
- 描述:返回此类的所有属性描述符。
属性描述符列表,按定义顺序排列。
- 描述:执行任何必要的清理。
清理对文档和属性的引用
- 描述:如果此对象在所有方面都等于另一个对象,则返回 True。
模型的结构相等性。
- 参数:
other (HasProps) – 要比较的另一个实例
- 返回值:
如果属性在结构上相等,则为 True,否则为 False
- 描述:在 JavaScript 中,将此对象的属性链接到另一个模型的属性。
使用 JavaScript 链接两个 Bokeh 模型属性。
这是一种便捷方法,简化了添加
CustomJS
回调,以便在一个 Bokeh 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- 描述:注册一个 JavaScript 回调,以在此对象的属性更改时执行。
将
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)
- 描述:按名称查找属性描述符。
给定属性名称,查找类上 Bokeh 属性的
PropertyDescriptor
。- 参数:
- 返回值:
名为
name
的属性的描述符- Return type:
- 描述:为属性添加一个回调,以在属性更改时执行。
在此对象上添加回调,以便在
attr
更改时触发。- 参数:
attr (str) – 此对象上的属性名称
*callbacks (callable) – 要注册的回调函数
- 返回值:
None
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- 描述:为事件添加回调,以在事件触发时执行。
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 bokeh.events 中的特定事件。
-
描述:返回此类的
__init__
方法的所有参数。 生成适用于从 glyph 派生的函数的 Python
Parameter
值。- 返回值:
list(Parameter)
- 描述:获取此类的所有属性的集合。
收集此类上的属性名称。
警告
在 Bokeh 的未来版本中,此方法将返回一个字典,将属性名称映射到属性对象。为了使当前对此方法的使用具有前瞻性,请将返回值包装在
list
中。- 返回值:
属性名称
- 描述:获取此类的所有属性,这些属性的值是 HasProps 或 Model 的实例。
收集此类上所有也具有引用的属性的名称。
此方法始终遍历类层次结构,并包括在任何父类上定义的属性。
- 描述:获取此类的所有属性及其值,可选地包括默认值或未定义的值。
收集一个字典,将属性名称映射到它们的值。
此方法始终遍历类层次结构,并包括在任何父类上定义的属性。
不可序列化的属性将被跳过,并且属性值采用“序列化”格式,这可能与您通常从属性中读取的值略有不同;此方法的目的是返回无损地重构对象实例所需的信息。
- 描述:获取此类的属性及其值,并根据查询函数进行过滤,可选地包括默认值或未定义的值。
使用谓词查询
HasProps
实例的属性值。
- 描述:返回此对象引用的所有模型的集合。
返回此对象引用的所有
Models
。
- 描述:从此属性中删除先前添加的任何回调。
从此对象中删除回调
- 选择(选择器: SelectorType) Iterable[模型] #
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
- 返回值:
seq[Model]
- 选择一个(选择器: SelectorType) 模型 | None #
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何对象,则返回 None :param selector: :type selector: JSON-like
- 返回值:
Model
- 从_JSON_设置(名称: str, 值: Any, *, 设置器: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
None
- 设置_选择(选择器: type[模型] | SelectorType, 更新: dict[str, Any]) None #
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- 参数:
selector (JSON-like)
updates (dict)
- 返回值:
None
- 主题化_值() dict[str, Any] | None #
获取任何主题提供的值覆盖。
结果以从属性名称到值的字典形式返回,如果主题未覆盖此实例的任何值,则返回
None
。- 返回值:
dict 或 None
- 序列化(序列化器: Serializer) ObjectRefRep #
将此对象转换为可序列化的表示形式。
- 触发(属性: str, 旧值: Any, 新值: Any, 提示: DocumentPatchedEvent | None = None, 设置器: Setter | None = None) None #
- 类 标签(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基类:
TextAnnotation
将单个文本标签渲染为注释。
Label
will render a single text label at givenx
andy
coordinates, which can be in either screen (pixel) space, or data (axis range) space.The label can also be configured with a screen space offset from
x
andy
, by using thex_offset
andy_offset
properties.Additionally, the label can be rotated with the
angle
property.There are also standard text, fill, and line properties to control the appearance of the text, its background, as well as the rectangular bounding box border.
See Labels for information on plotting labels.
JSON 原型
{ "anchor": "auto", "angle": 0, "angle_units": "rad", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": "black", "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "direction": "anticlock", "editable": false, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54564", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "padding": 0, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_align": "left", "text_alpha": 1.0, "text_baseline": "bottom", "text_color": "#444444", "text_font": "helvetica", "text_font_size": "16px", "text_font_style": "normal", "text_line_height": 1.2, "text_outline_color": null, "visible": true, "x": { "name": "unset", "type": "symbol" }, "x_offset": 0, "x_range_name": "default", "x_units": "data", "y": { "name": "unset", "type": "symbol" }, "y_offset": 0, "y_range_name": "default", "y_units": "data" }
- 锚点 = 'auto'#
- Type:
Either
(Either
(Enum
(Anchor
),Tuple
(Either
(Enum
(Align
),Enum
(HAlign
),Percent
),Either
(Enum
(Align
),Enum
(VAlign
),Percent
))),Auto
)
标签文本边界框内的位置,
x
和y
坐标将锚定到该位置。注意
此属性是实验性的,随时可能更改。
- 角度_单位 = 'rad'#
- Type:
单位的可接受值是
"rad"
和"deg"
。
- 背景_填充_alpha = 1.0#
- Type:
文本边框的填充 alpha 值。
- 背景_阴影_alpha = 1.0#
- Type:
文本边框的阴影线 alpha 值。
- 边框_线条_alpha = 1.0#
- Type:
文本边框的线条 alpha 值。
- 边框_半径 = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
允许标签的框具有圆角。为了获得最佳效果,应与
padding
结合使用。注意
此属性是实验性的,随时可能更改。
- CSS_变量 = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- 元素 = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- 组 = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- HTML_ID = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- 层级 = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- 名称 = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- 内边距 = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
),Struct
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
标签文本与其边框之间额外的空间。
注意
此属性是实验性的,随时可能更改。
- 样式表 = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- 可同步 = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- 标签 = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- 文本 = ''#
- Type:
文本类型
要渲染的文本或 LaTeX 符号。
- 文本_alpha = 1.0#
- Type:
文本的文本 alpha 值。
- 文本_基线 = 'bottom'#
- Type:
文本的文本基线值。
- x = Undefined#
-
屏幕坐标中用于定位文本锚点的 x 坐标。
- y = Undefined#
-
屏幕坐标中用于定位文本锚点的 y 坐标。
- 应用_主题(属性_值: dict[str, Any]) None #
应用一组主题值,这些值将代替默认值使用,但不会覆盖应用程序设置的值。
传入的字典可以保持原样并与其他实例共享以节省内存(因此调用者和
HasProps
实例都不应修改它)。- 参数:
property_values (dict) – 用于代替默认值的主题值
- 返回值:
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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 LabelSet(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
DataAnnotation
将多个文本标签渲染为注释。
LabelSet
将在给定的x
和y
坐标处渲染多个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。在这种情况下(与单个Label
模型相反),x
和y
也可以是来自ColumnDataSource
的列的名称,在这种情况下,标签将使用指定列的坐标值进行“向量化”。标签还可以通过使用
x_offset
和y_offset
属性,配置与x
和y
的屏幕空间偏移。这些偏移可以通过提供数据源列的名称进行向量化。
There are also standard text, fill, and line properties to control the appearance of the text, its background, as well as the rectangular bounding box border.
此外,标签可以使用
angle
属性旋转(这也可能是列名)。JSON 原型
{ "angle": { "type": "value", "value": 0 }, "background_fill_alpha": { "type": "value", "value": 1.0 }, "background_fill_color": { "type": "value", "value": null }, "background_hatch_alpha": { "type": "value", "value": 1.0 }, "background_hatch_color": { "type": "value", "value": "black" }, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": { "type": "value", "value": null }, "background_hatch_scale": { "type": "value", "value": 12.0 }, "background_hatch_weight": { "type": "value", "value": 1.0 }, "border_line_alpha": { "type": "value", "value": 1.0 }, "border_line_cap": { "type": "value", "value": "butt" }, "border_line_color": { "type": "value", "value": null }, "border_line_dash": { "type": "value", "value": [] }, "border_line_dash_offset": { "type": "value", "value": 0 }, "border_line_join": { "type": "value", "value": "bevel" }, "border_line_width": { "type": "value", "value": 1 }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54621", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p54623", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p54624", "name": "UnionRenderers", "type": "object" } }, "id": "p54622", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": { "field": "text", "type": "field" }, "text_align": { "type": "value", "value": "left" }, "text_alpha": { "type": "value", "value": 1.0 }, "text_baseline": { "type": "value", "value": "bottom" }, "text_color": { "type": "value", "value": "#444444" }, "text_font": { "type": "value", "value": "helvetica" }, "text_font_size": { "type": "value", "value": "16px" }, "text_font_style": { "type": "value", "value": "normal" }, "text_line_height": { "type": "value", "value": 1.2 }, "text_outline_color": { "type": "value", "value": null }, "visible": true, "x": { "field": "x", "type": "field" }, "x_offset": { "type": "value", "value": 0 }, "x_range_name": "default", "x_units": "data", "y": { "field": "y", "type": "field" }, "y_offset": { "type": "value", "value": 0 }, "y_range_name": "default", "y_units": "data" }
- angle_units = 'rad'#
- Type:
用于关联属性的单位:deg、rad、grad 或 turn
- background_hatch_pattern = None#
- Type:
HatchPatternSpec
文本边框的阴影线图案值。
- border_line_cap = '对接'#
- Type:
LineCapSpec
文本边框的线条端帽值。
- border_line_dash = []#
- Type:
DashPatternSpec
文本边框的线条虚线值。
- border_line_dash_offset = 0#
- Type:
IntSpec
文本边框的线条虚线偏移值。
- border_line_join = '斜角'#
- Type:
LineJoinSpec
文本边框的线条连接值。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- source = ColumnDataSource(id='p54741', ...)#
- Type:
用于在绘图上渲染注释的本地数据源。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- text = Field(field='text', transform=Unspecified, units=Unspecified)#
- Type:
NullStringSpec
要渲染的文本值。
- text_align = '左'#
- Type:
TextAlignSpec
文本的文本对齐值。
- text_baseline = '底部'#
- Type:
TextBaselineSpec
文本的文本基线值。
- text_font = Value(value='helvetica', transform=Unspecified, units=Unspecified)#
- Type:
文本的文本字体值。
- text_font_size = Value(value='16px', transform=Unspecified, units=Unspecified)#
- Type:
文本的文本字体大小值。
- text_font_style = '正常'#
- Type:
FontStyleSpec
文本的文本字体样式值。
- text_line_height = 1.2#
- Type:
文本的文本行高值。
- x = Field(field='x', transform=Unspecified, units=Unspecified)#
- Type:
用于定位文本锚点的 x 坐标。
- y = Field(field='y', transform=Unspecified, units=Unspecified)#
- Type:
用于定位文本锚点的 y 坐标。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 Legend(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
Bases:
Annotation
为绘图渲染信息图例。
有关绘制图例的信息,请参阅图例。
JSON 原型
{ "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "background_hatch_alpha": 1.0, "background_hatch_color": "black", "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 0.5, "border_line_cap": "butt", "border_line_color": "#e5e5e5", "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "click_policy": "none", "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "glyph_height": 20, "glyph_width": 20, "group": null, "html_attributes": { "type": "map" }, "html_id": null, "id": "p54836", "inactive_fill_alpha": 0.7, "inactive_fill_color": "white", "inactive_hatch_alpha": 1.0, "inactive_hatch_color": "black", "inactive_hatch_extra": { "type": "map" }, "inactive_hatch_pattern": null, "inactive_hatch_scale": 12.0, "inactive_hatch_weight": 1.0, "item_background_fill_alpha": 0.8, "item_background_fill_color": "#f1f1f1", "item_background_hatch_alpha": 1.0, "item_background_hatch_color": "black", "item_background_hatch_extra": { "type": "map" }, "item_background_hatch_pattern": null, "item_background_hatch_scale": 12.0, "item_background_hatch_weight": 1.0, "item_background_policy": "none", "items": [], "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label_height": "auto", "label_standoff": 5, "label_text_align": "left", "label_text_alpha": 1.0, "label_text_baseline": "middle", "label_text_color": "#444444", "label_text_font": "helvetica", "label_text_font_size": "13px", "label_text_font_style": "normal", "label_text_line_height": 1.2, "label_text_outline_color": null, "label_width": 20, "level": "annotation", "location": "top_right", "margin": 10, "name": null, "ncols": "auto", "nrows": "auto", "orientation": "vertical", "padding": 10, "propagate_hover": false, "renderers": [], "spacing": 3, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "title": null, "title_location": "above", "title_standoff": 5, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- background_fill_alpha = 0.95#
- Type:
图例背景样式的填充 alpha 值。
- background_hatch_alpha = 1.0#
- Type:
图例背景样式的阴影线 alpha 值。
- border_line_alpha = 0.5#
- Type:
图例边框轮廓的线条 alpha 值。
- border_radius = 0#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
允许框具有圆角。
- click_policy = 'none'#
- Type:
定义单击图例项目时发生的情况。
- css_variables = {}#
-
允许定义动态计算的 CSS 变量。
例如,这可以用于协调画布渲染器和/或视觉效果与基于 HTML 的 UI 元素之间的定位和样式设置。
此处定义的变量等效于在 CSS 样式表中的
:host { ... }
下设置相同的变量。注意
此属性是实验性的,随时可能更改。
- elements = []#
- Type:
附加到此渲染器的基于 DOM 的 UI 元素集合。
这可以包括浮动元素(如工具提示),从而允许在此渲染器及其 UI 元素之间建立父子关系。
注意
此属性等效于基于 DOM 的 UI 中的
Pane.elements
。
- group = None#
- Type:
注意
此属性是实验性的,随时可能更改。
- html_id = None#
-
设置底层 HTML 元素的
id
属性。这是常用 HTML
id
属性的简写形式。或者,id
也可以在html_attributes
字典中设置。html_id
优先。
- inactive_fill_alpha = 0.7#
- Type:
当图例项目处于非活动状态时,图例项目样式的填充 alpha 值。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_fill_color = 'white'#
-
当图例项目处于非活动状态时,图例项目样式的填充颜色。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_hatch_alpha = 1.0#
- Type:
当图例项目处于非活动状态时,图例项目样式的阴影线 alpha 值。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_hatch_color = 'black'#
-
当图例项目处于非活动状态时,图例项目样式的阴影线颜色。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_hatch_extra = {}#
-
当图例项目处于非活动状态时,图例项目样式的额外阴影线属性。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_hatch_pattern = None#
-
当图例项目处于非活动状态时,图例项目样式的阴影线图案。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_hatch_scale = 12.0#
- Type:
当图例项目处于非活动状态时,图例项目样式的阴影线比例。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- inactive_hatch_weight = 1.0#
- Type:
当图例项目处于非活动状态时,图例项目样式的阴影线粗细。 这些控制项目上的叠加层,当相应的字形处于非活动状态时(例如,通过使其半透明),可用于遮盖项目。
- item_background_fill_alpha = 0.8#
- Type:
图例项目背景样式的填充 alpha 值。
- item_background_hatch_alpha = 1.0#
- Type:
图例项目背景样式的阴影线 alpha 值。
- item_background_policy = 'none'#
- Type:
如果配置了
item_background_fill
,则定义要设置样式的项目。
- items = []#
- Type:
要在图例中渲染的
LegendItem
实例列表。可以显式指定,例如
legend = Legend(items=[ LegendItem(label="sin(x)", renderers=[r0, r1]), LegendItem(label="2*sin(x)", renderers=[r2]), LegendItem(label="3*sin(x)", renderers=[r3, r4]) ])
但为了方便起见,也可以更紧凑地以元组列表的形式给出
legend = Legend(items=[ ("sin(x)", [r0, r1]), ("2*sin(x)", [r2]), ("3*sin(x)", [r3, r4]) ])
其中每个元组的形式为:(label, renderers)。
- label_text_alpha = 1.0#
- Type:
图例标签的文本 alpha 值。
- label_text_baseline = 'middle'#
- Type:
图例标签的文本基线。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- location = 'top_right'#
-
图例应绘制自身的位置。 它可以是
LegendLocation
的枚举值之一,也可以是(x, y)
元组,指示屏幕坐标中的绝对位置(从左下角开始的像素)。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- ncols = 'auto'#
-
图例布局中的列数。 默认情况下,如果方向为垂直,则为一列;否则为图例中项目的数量。
ncols
优先于水平方向的nrows
。
- nrows = 'auto'#
-
图例布局中的行数。 默认情况下,如果方向为水平,则为一行;否则为图例中项目的数量。
nrows
优先于垂直方向的ncols
。
- orientation = 'vertical'#
- Type:
图例条目在绘制时应垂直还是水平放置。
- padding = 10#
- Type:
Either
(NonNegative
,Tuple
(NonNegative
,NonNegative
),Struct
,Tuple
(NonNegative
,NonNegative
,NonNegative
,NonNegative
),Struct
)
图例内容与其边框之间的内边距量。
仅在边框可见时适用。
- stylesheets = []#
- Type:
用于底层 DOM 元素的其他样式表。
请注意,所有 Bokeh 组件都使用 shadow DOM,因此任何包含的样式表都必须反映这一点,例如,使用
:host
CSS 伪选择器来访问根 DOM 元素。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- title_text_alpha = 1.0#
- Type:
标题文本的文本 alpha 值。
- title_text_baseline = 'bottom'#
- Type:
标题文本的文本基线值。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 #
- 类 LegendItem(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基类:
Model
JSON 原型
{ "id": "p54923", "index": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label": { "type": "value", "value": null }, "name": null, "renderers": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true }
- index = None#
-
用于绘制代表性项目的列数据索引。
如果为 None (默认值),则 Bokeh 将自动选择要使用的索引。 如果标签未引用数据列名称,则这通常是数据源中的第一个数据点。 否则,如果标签确实引用了列名,则图例将具有“groupby”行为,并将从列中的每个“组”中选择和显示代表点。
如果设置为数字,则 Bokeh 将在所有情况下都使用该数字作为索引。
- label = None#
- Type:
NullStringSpec
此图例的标签。 可以是字符串,也可以是 ColumnDataSource 的列。 如果
label
是一个字段,则它必须在渲染器的 data_source 中。
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 #
- 类 Metric(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基类:
Dimensional
用于定义度量单位的模型。
JSON 原型
{ "base_unit": { "name": "unset", "type": "symbol" }, "exclude": [], "full_unit": null, "id": "p54931", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750 ] }
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
-
在非精确模式下选择的首选值。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 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: :type selector: JSON-like
- 返回值:
Model
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None #
从 JSON 在此对象上设置属性值。
- 参数:
name (str) – 要设置的属性的名称
value (JSON-value) – 要设置为属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对 Bokeh 应用程序的“回旋镖”更新。
在 Bokeh 服务器应用程序的上下文中,传入的属性更新将使用正在执行更新的会话进行注释。此值会通过更新触发的任何后续更改通知进行传播。会话可以将事件 setter 与自身进行比较,并抑制任何源自自身的更新。
- 返回值:
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 MetricLength(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基类:
Metric
长度测量的度量单位。
JSON 原型
{ "base_unit": "m", "exclude": [ "dm", "hm" ], "full_unit": null, "id": "p54940", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750 ] }
- name = None#
-
此模型的一个任意的、用户提供的名称。
当查询文档以检索特定的 Bokeh 模型时,此名称可能很有用。
>>> plot.scatter([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用该名称。
- syncable = True#
- Type:
指示此模型在 Web 浏览器中更新时是否应同步回 Bokeh 服务器。当处理频繁更新的对象而我们不需要其更新值时,设置为
False
可能有助于减少网络流量。注意
将此属性设置为
False
将阻止此对象上的任何on_change()
回调被触发。但是,任何 JS 端的回调仍然有效。
- tags = []#
- Type:
要附加到此模型的可选的、用户提供的任意值列表。
当查询文档以检索特定的 Bokeh 模型时,此数据可能很有用
>>> r = plot.scatter([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到可以通过
CustomJS
回调等访问的模型的一种便捷方式。注意
对于提供的任何标签,不强制执行唯一性保证或其他条件,Bokeh 也不会出于任何原因直接使用这些标签。
- ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
-
在非精确模式下选择的首选值。
- 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 模型属性的值更改时更新另一个属性。- 参数:
Added in version 1.1
- Raises:
示例
使用
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)
which is equivalent to
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
的属性的描述符- Return type:
- 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 #
在此 Model 上指定的事件发生时运行回调
并非所有 Model 都支持所有事件。有关哪些 Model 能够触发哪些事件的更多信息,请参阅 bokeh.events 中的特定事件。
- classmethod parameters() list[Parameter] #
生成适用于从 glyph 派生的函数的 Python
Parameter
值。- 返回值:
list(Parameter)
-
classmethod properties(*, _with_props: bool = False) set[str] |
警告
在 Bokeh 的未来版本中,此方法将返回一个字典,将属性名称映射到属性对象。为了使当前对此方法的使用具有前瞻性,请将返回值包装在
list
中。