注释#
用于可以添加到图表中的各种注释的渲染器。
- class Angular(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
CustomDimensional角度测量单位。
JSON Prototype
{ "basis": { "entries": [ [ "\u00b0", [ 1, "^\\circ", "degree" ] ], [ "'", [ 0.016666666666666666, "^\\prime", "minute" ] ], [ "''", [ 0.0002777777777777778, "^{\\prime\\prime}", "second" ] ] ], "type": "map" }, "exclude": [], "id": "p51909", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 3, 6, 12, 60, 120, 240, 360 ] }
- basis = {'°': (1, '^\\circ', 'degree'), "'": (0.016666666666666666, '^\\prime', 'minute'), "''": (0.0002777777777777778, '^{\\prime\\prime}', 'second')}#
-
定义测量单位的基础。
这包括短单位名称与其对应的缩放因子、TeX名称和可选的完整名称之间的映射。例如,定义角度测量单位的基础是:
basis = { "°": (1, "^\circ", "degree"), "'": (1/60, "^\prime", "minute"), "''": (1/3600, "^{\prime\prime}", "second"), }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发它们的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Annotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
CompositeRenderer所有注释模型的基类。
注意
这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。
JSON Prototype
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p51917", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发它们的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Arrow(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
DataAnnotation将箭头渲染为注释。
请参阅Arrows以获取关于绘制箭头的信息。
JSON Prototype
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "end": { "id": "p51938", "name": "OpenHead", "type": "object" }, "end_units": "data", "group": null, "id": "p51934", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p51936", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p51937", "name": "UnionRenderers", "type": "object" } }, "id": "p51935", "name": "ColumnDataSource", "type": "object" }, "start": null, "start_units": "data", "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_end": { "field": "x_end", "type": "field" }, "x_range_name": "default", "x_start": { "field": "x_start", "type": "field" }, "y_end": { "field": "y_end", "type": "field" }, "y_range_name": "default", "y_start": { "field": "y_start", "type": "field" } }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- end_units = 'data'#
- Type:
end_x 和 end_y 属性的单位类型。默认情况下解释为“数据空间”单位。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_cap = 'butt'#
- Type:
LineCapSpec
箭头主体的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
箭头主体的虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
箭头主体的虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
箭头主体的线条连接值。
- line_width = 1#
- Type:
箭头主体的线宽值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- source = ColumnDataSource(id='p52035', ...)#
- Type:
在图表上渲染注释时使用的本地数据源。
- start_units = 'data'#
- Type:
start_x 和 start_y 属性的单位类型。默认情况下解释为“数据空间”单位。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- 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实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ArrowHead(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
Marking箭头基类。
注意
这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。
JSON Prototype
{ "id": "p52103", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "size": { "type": "value", "value": 25 }, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [] }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- size = 25#
- Type:
箭头的大小,以像素为单位。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Band(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
DataAnnotation沿着一个维度渲染一个填充区域带。
请参阅Bands以获取关于绘制波段的信息。
JSON Prototype
{ "base": { "field": "base", "type": "field" }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "dimension": "height", "elements": [], "fill_alpha": 0.4, "fill_color": "#fff9ba", "group": null, "id": "p52108", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": 0.3, "line_cap": "butt", "line_color": "#cccccc", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "lower": { "field": "lower", "type": "field" }, "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p52110", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p52111", "name": "UnionRenderers", "type": "object" } }, "id": "p52109", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "upper": { "field": "upper", "type": "field" }, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- base_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_dash = []#
- Type:
波段的虚线值。
- lower_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- source = ColumnDataSource(id='p52208', ...)#
- Type:
在图表上渲染注释时使用的本地数据源。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- upper_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class BoxAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
Annotation,AreaVisuals渲染一个带阴影的矩形区域作为注释。
请参阅Box annotations以获取有关绘制箱形注释的信息。
JSON Prototype
{ "border_radius": 0, "bottom": { "attributes": { "symbol": "bottom", "target": "frame" }, "id": "p52251", "name": "Node", "type": "object" }, "bottom_limit": null, "bottom_units": "data", "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "editable": false, "elements": [], "fill_alpha": 0.4, "fill_color": "#fff9ba", "group": null, "handles": { "attributes": { "all": { "attributes": { "fill_color": "white", "hover_fill_color": "lightgray" }, "id": "p52252", "name": "AreaVisuals", "type": "object" } }, "id": "p52253", "name": "BoxInteractionHandles", "type": "object" }, "hatch_alpha": 1.0, "hatch_color": "black", "hatch_extra": { "type": "map" }, "hatch_pattern": null, "hatch_scale": 12.0, "hatch_weight": 1.0, "hover_fill_alpha": 0.4, "hover_fill_color": null, "hover_hatch_alpha": 1.0, "hover_hatch_color": "black", "hover_hatch_extra": { "type": "map" }, "hover_hatch_pattern": null, "hover_hatch_scale": 12.0, "hover_hatch_weight": 1.0, "hover_line_alpha": 0.3, "hover_line_cap": "butt", "hover_line_color": null, "hover_line_dash": [], "hover_line_dash_offset": 0, "hover_line_join": "bevel", "hover_line_width": 1, "id": "p52247", "inverted": false, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "left": { "attributes": { "symbol": "left", "target": "frame" }, "id": "p52248", "name": "Node", "type": "object" }, "left_limit": null, "left_units": "data", "level": "annotation", "line_alpha": 0.3, "line_cap": "butt", "line_color": "#cccccc", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "max_height": { "type": "number", "value": "+inf" }, "max_width": { "type": "number", "value": "+inf" }, "min_height": 0, "min_width": 0, "movable": "both", "name": null, "propagate_hover": false, "renderers": [], "resizable": "all", "right": { "attributes": { "symbol": "right", "target": "frame" }, "id": "p52249", "name": "Node", "type": "object" }, "right_limit": null, "right_units": "data", "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "symmetric": false, "syncable": true, "tags": [], "top": { "attributes": { "symbol": "top", "target": "frame" }, "id": "p52250", "name": "Node", "type": "object" }, "top_limit": null, "top_units": "data", "use_handles": false, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- border_radius = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
允许盒子具有圆角。
注意
此属性是实验性的,可能会随时更改。
- bottom = Node(id='p52268', ...)#
-
框注释底边的y坐标。
- bottom_limit = None#
-
盒子移动的可选底部限制。
注意
此属性是实验性的,可能会随时更改。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- handles = BoxInteractionHandles(id='p52347', ...)#
- Type:
配置交互手柄的外观。
可以按递增的特定级别批量配置句柄,每个级别如果定义了,将覆盖更通用的设置:
all -> move, resize
resize -> sides, corners
sides -> left, right, top, bottom
corners -> top_left, top_right, bottom_left, bottom_right
注意
此属性是实验性的,可能会随时更改。
- hover_line_dash = []#
- Type:
悬停时框的虚线值。
- left = Node(id='p52509', ...)#
-
框注释左侧边缘的x坐标。
- left_limit = None#
-
盒子移动的可选左限。
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_dash = []#
- Type:
盒子的虚线值。
- min_height = 0#
- Type:
允许设置盒子的最大宽度。
注意
此属性是实验性的,可能会随时更改。
- min_width = 0#
- Type:
允许设置盒子的最小宽度。
注意
此属性是实验性的,可能会随时更改。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- resizable = 'all'#
-
如果设置了
editable,此属性允许配置哪些边的组合可以被移动,从而允许对框的大小调整进行限制。注意
此属性是实验性的,可能会随时更改。
- right = Node(id='p52650', ...)#
-
框注释右侧边缘的x坐标。
- right_limit = None#
-
盒子移动的可选右限。
注意
此属性是实验性的,可能会随时更改。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- top = Node(id='p52707', ...)#
-
框注释顶部边缘的y坐标。
- top_limit = None#
-
盒子移动的可选上限。
注意
此属性是实验性的,可能会随时更改。
- use_handles = False#
- Type:
是否显示交互(移动、调整大小等)手柄。
如果不使用手柄,那么整个注释、其边框和角落的行为就像它们是交互手柄一样。
注意
此属性是实验性的,可能会随时更改。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class BoxInteractionHandles(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Model定义用于类似框的注释的交互句柄。
JSON Prototype
{ "all": { "name": "unset", "type": "symbol" }, "bottom": null, "bottom_left": null, "bottom_right": null, "corners": null, "id": "p52750", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "left": null, "move": null, "name": null, "resize": null, "right": null, "sides": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "top": null, "top_left": null, "top_right": null }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ColorBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
BaseColorBar基于颜色映射器渲染颜色条。
请参阅Color bars以获取关于绘制颜色条的信息。
JSON Prototype
{ "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "bar_line_alpha": 1.0, "bar_line_cap": "butt", "bar_line_color": null, "bar_line_dash": [], "bar_line_dash_offset": 0, "bar_line_join": "bevel", "bar_line_width": 1, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "color_mapper": { "name": "unset", "type": "symbol" }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "display_high": null, "display_low": null, "elements": [], "formatter": "auto", "group": null, "height": "auto", "id": "p52754", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label_standoff": 5, "level": "annotation", "location": "top_right", "major_label_overrides": { "type": "map" }, "major_label_policy": { "id": "p52755", "name": "NoOverlap", "type": "object" }, "major_label_text_align": "left", "major_label_text_alpha": 1.0, "major_label_text_baseline": "bottom", "major_label_text_color": "#444444", "major_label_text_font": "helvetica", "major_label_text_font_size": "11px", "major_label_text_font_style": "normal", "major_label_text_line_height": 1.2, "major_label_text_outline_color": null, "major_tick_in": 5, "major_tick_line_alpha": 1.0, "major_tick_line_cap": "butt", "major_tick_line_color": "#ffffff", "major_tick_line_dash": [], "major_tick_line_dash_offset": 0, "major_tick_line_join": "bevel", "major_tick_line_width": 1, "major_tick_out": 0, "margin": 30, "minor_tick_in": 0, "minor_tick_line_alpha": 1.0, "minor_tick_line_cap": "butt", "minor_tick_line_color": null, "minor_tick_line_dash": [], "minor_tick_line_dash_offset": 0, "minor_tick_line_join": "bevel", "minor_tick_line_width": 1, "minor_tick_out": 0, "name": null, "orientation": "auto", "padding": 10, "propagate_hover": false, "renderers": [], "scale_alpha": 1.0, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticker": "auto", "title": null, "title_standoff": 2, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "visible": true, "width": "auto", "x_range_name": "default", "y_range_name": "default" }
- bar_line_dash = []#
- Type:
颜色比例条轮廓的虚线样式。
- border_line_dash = []#
- Type:
颜色条边框轮廓的虚线样式。
- color_mapper = Undefined#
- Type:
一个包含要渲染的调色板的颜色映射器。
警告
如果
ColorMapper的low和high属性未设置,刻度 和刻度标签将不会被渲染。此外,如果将LogTicker传递给 ticker参数,并且color_mapper的low和high值的对数 中有一个或两个是非数字的(即low=0),刻度和刻度标签将不会被渲染。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- formatter = 'auto'#
- Type:
用于格式化刻度视觉外观的
TickFormatter。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- location = 'top_right'#
-
颜色条应该绘制的位置。它可以是
bokeh.core.enums.Anchor枚举值之一,或者是一个(x, y)元组,表示屏幕坐标中的绝对位置(从左下角开始的像素距离)。警告
如果颜色条放置在侧面板中,位置可能需要设置为 (0,0)。
- major_label_overrides = {}#
-
为特定的刻度位置提供明确的刻度标签值,这些值会覆盖正常的格式化。
- major_label_policy = NoOverlap(id='p52818', ...)#
- Type:
Instance(LabelingPolicy)
允许过滤掉标签,例如整理标签以避免重叠。
- major_label_text_baseline = 'bottom'#
- Type:
主要刻度标签的文本基线。
- major_tick_line_dash = []#
- Type:
主要刻度线的虚线样式。
- minor_tick_line_dash = []#
- Type:
次要刻度线的虚线样式。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- orientation = 'auto'#
- Type:
颜色条应该是垂直还是水平方向。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- title_text_baseline = 'bottom'#
- Type:
标题文本的文本基线值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ContourColorBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
BaseColorBar用于等高线的颜色条。
支持显示等高线图可能具有的填充图案和线条样式,以及通常的填充样式。
不要手动创建这些对象,而是使用
ContourRenderer.color_bar。JSON Prototype
{ "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "bar_line_alpha": 1.0, "bar_line_cap": "butt", "bar_line_color": null, "bar_line_dash": [], "bar_line_dash_offset": 0, "bar_line_join": "bevel", "bar_line_width": 1, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "fill_renderer": { "name": "unset", "type": "symbol" }, "formatter": "auto", "group": null, "height": "auto", "id": "p52927", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label_standoff": 5, "level": "annotation", "levels": [], "line_renderer": { "name": "unset", "type": "symbol" }, "location": "top_right", "major_label_overrides": { "type": "map" }, "major_label_policy": { "id": "p52928", "name": "NoOverlap", "type": "object" }, "major_label_text_align": "left", "major_label_text_alpha": 1.0, "major_label_text_baseline": "bottom", "major_label_text_color": "#444444", "major_label_text_font": "helvetica", "major_label_text_font_size": "11px", "major_label_text_font_style": "normal", "major_label_text_line_height": 1.2, "major_label_text_outline_color": null, "major_tick_in": 5, "major_tick_line_alpha": 1.0, "major_tick_line_cap": "butt", "major_tick_line_color": "#ffffff", "major_tick_line_dash": [], "major_tick_line_dash_offset": 0, "major_tick_line_join": "bevel", "major_tick_line_width": 1, "major_tick_out": 0, "margin": 30, "minor_tick_in": 0, "minor_tick_line_alpha": 1.0, "minor_tick_line_cap": "butt", "minor_tick_line_color": null, "minor_tick_line_dash": [], "minor_tick_line_dash_offset": 0, "minor_tick_line_join": "bevel", "minor_tick_line_width": 1, "minor_tick_out": 0, "name": null, "orientation": "auto", "padding": 10, "propagate_hover": false, "renderers": [], "scale_alpha": 1.0, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticker": "auto", "title": null, "title_standoff": 2, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "visible": true, "width": "auto", "x_range_name": "default", "y_range_name": "default" }
- bar_line_dash = []#
- Type:
颜色比例条轮廓的虚线样式。
- border_line_dash = []#
- Type:
颜色条边框轮廓的虚线样式。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- fill_renderer = Undefined#
- Type:
用于填充等高线多边形的字形渲染器。
- formatter = 'auto'#
- Type:
用于格式化刻度视觉外观的
TickFormatter。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_renderer = Undefined#
- Type:
用于等高线的字形渲染器。
- location = 'top_right'#
-
颜色条应该绘制的位置。它可以是
bokeh.core.enums.Anchor枚举值之一,或者是一个(x, y)元组,表示屏幕坐标中的绝对位置(从左下角开始的像素距离)。警告
如果颜色条放置在侧面板中,位置可能需要设置为 (0,0)。
- major_label_overrides = {}#
-
为特定的刻度位置提供明确的刻度标签值,这些值会覆盖正常的格式化。
- major_label_policy = NoOverlap(id='p52991', ...)#
- Type:
Instance(LabelingPolicy)
允许过滤掉标签,例如整理标签以避免重叠。
- major_label_text_baseline = 'bottom'#
- Type:
主要刻度标签的文本基线。
- major_tick_line_dash = []#
- Type:
主要刻度线的虚线样式。
- minor_tick_line_dash = []#
- Type:
次要刻度线的虚线样式。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- orientation = 'auto'#
- Type:
颜色条应该是垂直还是水平方向。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- title_text_baseline = 'bottom'#
- Type:
标题文本的文本基线值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class HTMLAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
Annotation基于HTML的注释的基类。
注意
所有继承自此基类的注释都可以附加到画布上,但不会渲染到画布上,因此它们不会出现在保存的图表中。只有
export_png()函数可以保留HTML注释。注意
这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。
JSON Prototype
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p53100", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class HTMLLabel(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
HTMLTextAnnotation将单个HTML标签渲染为注释。
Label将在给定的x和y坐标处渲染单个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。标签也可以通过使用
x_offset和y_offset属性来配置与x和y的屏幕空间偏移。此外,标签可以通过
angle属性进行旋转。还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。
请参阅Labels以获取关于绘制标签的信息。
JSON Prototype
{ "angle": 0, "angle_units": "rad", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p53117", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "padding": 0, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_align": "left", "text_alpha": 1.0, "text_baseline": "bottom", "text_color": "#444444", "text_font": "helvetica", "text_font_size": "16px", "text_font_style": "normal", "text_line_height": 1.2, "text_outline_color": null, "visible": true, "x": { "name": "unset", "type": "symbol" }, "x_offset": 0, "x_range_name": "default", "x_units": "data", "y": { "name": "unset", "type": "symbol" }, "y_offset": 0, "y_range_name": "default", "y_units": "data" }
- angle_units = 'rad'#
- Type:
可接受的单位值为
"rad"和"deg"
- border_line_dash = []#
- Type:
文本边界框的虚线值。
- border_radius = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
允许标签的盒子具有圆角。为了获得最佳效果,它应与
padding结合使用。注意
此属性是实验性的,可能会随时更改。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- padding = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative),Struct,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
标签文本与其边界框(边框)之间的额外空间。
注意
此属性是实验性的,可能会随时更改。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text_baseline = 'bottom'#
- Type:
文本的基线值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class HTMLLabelSet(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
HTMLAnnotation,DataAnnotation将多个文本标签渲染为注释。
LabelSet将在给定的x和y坐标处渲染多个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。在这种情况下(与单个Label模型不同),x和y也可以是来自ColumnDataSource的列名,在这种情况下,标签将使用指定列中的坐标值进行“向量化”。标签也可以通过使用
x_offset和y_offset属性来配置与x和y的屏幕空间偏移。这些偏移可以通过提供数据源列的名称来进行矢量化。此外,标签可以通过
angle属性(也可以是列名)进行旋转。还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。
数据源通过设置
source属性来提供。JSON Prototype
{ "angle": { "type": "value", "value": 0 }, "background_fill_alpha": { "type": "value", "value": 1.0 }, "background_fill_color": { "type": "value", "value": null }, "border_line_alpha": { "type": "value", "value": 1.0 }, "border_line_cap": { "type": "value", "value": "butt" }, "border_line_color": { "type": "value", "value": null }, "border_line_dash": { "type": "value", "value": [] }, "border_line_dash_offset": { "type": "value", "value": 0 }, "border_line_join": { "type": "value", "value": "bevel" }, "border_line_width": { "type": "value", "value": 1 }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p53169", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p53171", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p53172", "name": "UnionRenderers", "type": "object" } }, "id": "p53170", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": { "field": "text", "type": "field" }, "text_align": { "type": "value", "value": "left" }, "text_alpha": { "type": "value", "value": 1.0 }, "text_baseline": { "type": "value", "value": "bottom" }, "text_color": { "type": "value", "value": "#444444" }, "text_font": { "type": "value", "value": "helvetica" }, "text_font_size": { "type": "value", "value": "16px" }, "text_font_style": { "type": "value", "value": "normal" }, "text_line_height": { "type": "value", "value": 1.2 }, "text_outline_color": { "type": "value", "value": null }, "visible": true, "x": { "field": "x", "type": "field" }, "x_offset": { "type": "value", "value": 0 }, "x_range_name": "default", "x_units": "data", "y": { "field": "y", "type": "field" }, "y_offset": { "type": "value", "value": 0 }, "y_range_name": "default", "y_units": "data" }
- angle_units = 'rad'#
- Type:
用于关联属性的单位:度、弧度、梯度或圈
- border_line_cap = 'butt'#
- Type:
LineCapSpec
文本边界框的线帽值。
- border_line_dash = []#
- Type:
DashPatternSpec
文本边界框的虚线值。
- border_line_dash_offset = 0#
- Type:
IntSpec
文本边界框的虚线偏移值。
- border_line_join = 'bevel'#
- Type:
LineJoinSpec
文本边界框的线条连接值。
- border_line_width = 1#
- Type:
文本边界框的线条宽度值。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- source = ColumnDataSource(id='p53257', ...)#
- Type:
在图表上渲染注释时使用的本地数据源。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text = Field(field='text', transform=Unspecified, units=Unspecified)#
- Type:
NullStringSpec
要渲染的文本值。
- text_align = 'left'#
- Type:
TextAlignSpec
文本的对齐值。
- text_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实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class HTMLTitle(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
HTMLTextAnnotation渲染单个标题框作为注释。
请参阅Titles以获取关于绘制标题的信息。
JSON Prototype
{ "align": "left", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p53352", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "offset": 0, "padding": 0, "propagate_hover": false, "renderers": [], "standoff": 10, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_alpha": 1.0, "text_color": "#444444", "text_font": "helvetica", "text_font_size": "13px", "text_font_style": "bold", "text_line_height": 1.0, "text_outline_color": null, "vertical_align": "bottom", "visible": true, "x_range_name": "default", "y_range_name": "default" }
- border_line_dash = []#
- Type:
文本边界框的虚线值。
- border_radius = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
允许标签的盒子具有圆角。为了获得最佳效果,它应与
padding结合使用。注意
此属性是实验性的,可能会随时更改。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- offset = 0#
- Type:
将文本偏移一定数量的像素(可以是正数或负数)。根据标题的位置,文本会向不同的方向移动:
上方:将标题向右移动
right: 将标题向下移动
下方:将标题向右移动
左:将标题上移
- padding = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative),Struct,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
标签文本与其边界框(边框)之间的额外空间。
注意
此属性是实验性的,可能会随时更改。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text_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之间的整数组成的三元组 (r, g, b)
一个四元组 (r, g, b, a),其中 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实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ImperialLength(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
CustomDimensional英制长度测量单位。
JSON Prototype
{ "basis": { "entries": [ [ "in", [ 0.08333333333333333, "in", "inch" ] ], [ "ft", [ 1, "ft", "foot" ] ], [ "yd", [ 3, "yd", "yard" ] ], [ "ch", [ 66, "ch", "chain" ] ], [ "fur", [ 660, "fur", "furlong" ] ], [ "mi", [ 5280, "mi", "mile" ] ], [ "lea", [ 15840, "lea", "league" ] ] ], "type": "map" }, "exclude": [], "id": "p53397", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 3, 6, 12, 60 ] }
- basis = {'in': (0.08333333333333333, 'in', 'inch'), 'ft': (1, 'ft', 'foot'), 'yd': (3, 'yd', 'yard'), 'ch': (66, 'ch', 'chain'), 'fur': (660, 'fur', 'furlong'), 'mi': (5280, 'mi', 'mile'), 'lea': (15840, 'lea', 'league')}#
-
定义测量单位的基础。
这包括短单位名称与其对应的缩放因子、TeX名称和可选的完整名称之间的映射。例如,定义角度测量单位的基础是:
basis = { "°": (1, "^\circ", "degree"), "'": (1/60, "^\prime", "minute"), "''": (1/3600, "^{\prime\prime}", "second"), }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Label(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
TextAnnotation将单个文本标签渲染为注释。
Label将在给定的x和y坐标处渲染单个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。标签也可以通过使用
x_offset和y_offset属性来配置与x和y的屏幕空间偏移。此外,标签可以通过
angle属性进行旋转。还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。
请参阅Labels以获取关于绘制标签的信息。
JSON Prototype
{ "anchor": "auto", "angle": 0, "angle_units": "rad", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "direction": "anticlock", "editable": false, "elements": [], "group": null, "id": "p53405", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "padding": 0, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_align": "left", "text_alpha": 1.0, "text_baseline": "bottom", "text_color": "#444444", "text_font": "helvetica", "text_font_size": "16px", "text_font_style": "normal", "text_line_height": 1.2, "text_outline_color": null, "visible": true, "x": { "name": "unset", "type": "symbol" }, "x_offset": 0, "x_range_name": "default", "x_units": "data", "y": { "name": "unset", "type": "symbol" }, "y_offset": 0, "y_range_name": "default", "y_units": "data" }
- anchor = 'auto'#
- Type:
Either(Either(Enum(Anchor),Tuple(Either(Enum(Align),Enum(HAlign),Percent),Either(Enum(Align),Enum(VAlign),Percent))),Auto)
标签文本边界框内的位置,
x和y坐标锚定到该位置。注意
此属性是实验性的,可能会随时更改。
- angle_units = 'rad'#
- Type:
可接受的单位值为
"rad"和"deg"。
- border_line_dash = []#
- Type:
文本边界框的虚线值。
- border_radius = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
允许标签的盒子具有圆角。为了获得最佳效果,它应与
padding结合使用。注意
此属性是实验性的,可能会随时更改。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- padding = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative),Struct,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
标签文本与其边界框(边框)之间的额外空间。
注意
此属性是实验性的,可能会随时更改。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text = ''#
- Type:
TextLike
要渲染的文本或LaTeX符号。
- text_baseline = 'bottom'#
- Type:
文本的基线值。
- x = Undefined#
-
在屏幕坐标中定位文本锚点的x坐标。
- y = Undefined#
-
屏幕坐标中的y坐标,用于定位文本锚点。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class LabelSet(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
DataAnnotation将多个文本标签渲染为注释。
LabelSet将在给定的x和y坐标处渲染多个文本标签,这些坐标可以是屏幕(像素)空间或数据(轴范围)空间。在这种情况下(与单个Label模型不同),x和y也可以是来自ColumnDataSource的列名,在这种情况下,标签将使用指定列中的坐标值进行“向量化”。标签也可以通过使用
x_offset和y_offset属性来配置与x和y的屏幕空间偏移。这些偏移可以通过提供数据源列的名称来进行矢量化。此外,标签可以通过
angle属性(也可以是列名)进行旋转。还有标准的文本、填充和线条属性来控制文本的外观、其背景以及矩形边界框的边框。
数据源通过设置
source属性来提供。JSON Prototype
{ "angle": { "type": "value", "value": 0 }, "background_fill_alpha": { "type": "value", "value": 1.0 }, "background_fill_color": { "type": "value", "value": null }, "border_line_alpha": { "type": "value", "value": 1.0 }, "border_line_cap": { "type": "value", "value": "butt" }, "border_line_color": { "type": "value", "value": null }, "border_line_dash": { "type": "value", "value": [] }, "border_line_dash_offset": { "type": "value", "value": 0 }, "border_line_join": { "type": "value", "value": "bevel" }, "border_line_width": { "type": "value", "value": 1 }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p53460", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p53462", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p53463", "name": "UnionRenderers", "type": "object" } }, "id": "p53461", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": { "field": "text", "type": "field" }, "text_align": { "type": "value", "value": "left" }, "text_alpha": { "type": "value", "value": 1.0 }, "text_baseline": { "type": "value", "value": "bottom" }, "text_color": { "type": "value", "value": "#444444" }, "text_font": { "type": "value", "value": "helvetica" }, "text_font_size": { "type": "value", "value": "16px" }, "text_font_style": { "type": "value", "value": "normal" }, "text_line_height": { "type": "value", "value": 1.2 }, "text_outline_color": { "type": "value", "value": null }, "visible": true, "x": { "field": "x", "type": "field" }, "x_offset": { "type": "value", "value": 0 }, "x_range_name": "default", "x_units": "data", "y": { "field": "y", "type": "field" }, "y_offset": { "type": "value", "value": 0 }, "y_range_name": "default", "y_units": "data" }
- angle_units = 'rad'#
- Type:
用于关联属性的单位:度、弧度、梯度或圈
- border_line_cap = 'butt'#
- Type:
LineCapSpec
文本边界框的线帽值。
- border_line_dash = []#
- Type:
DashPatternSpec
文本边界框的虚线值。
- border_line_dash_offset = 0#
- Type:
IntSpec
文本边界框的虚线偏移值。
- border_line_join = 'bevel'#
- Type:
LineJoinSpec
文本边界框的线条连接值。
- border_line_width = 1#
- Type:
文本边界框的线条宽度值。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- source = ColumnDataSource(id='p53548', ...)#
- Type:
在图表上渲染注释时使用的本地数据源。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text = Field(field='text', transform=Unspecified, units=Unspecified)#
- Type:
NullStringSpec
要渲染的文本值。
- text_align = 'left'#
- Type:
TextAlignSpec
文本的对齐值。
- text_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实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Legend(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Annotation为图表渲染信息图例。
请参阅Legends以获取关于绘制图例的信息。
JSON Prototype
{ "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "border_line_alpha": 0.5, "border_line_cap": "butt", "border_line_color": "#e5e5e5", "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "click_policy": "none", "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "glyph_height": 20, "glyph_width": 20, "group": null, "id": "p53643", "inactive_fill_alpha": 0.7, "inactive_fill_color": "white", "item_background_fill_alpha": 0.8, "item_background_fill_color": "#f1f1f1", "item_background_policy": "none", "items": [], "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label_height": 20, "label_standoff": 5, "label_text_align": "left", "label_text_alpha": 1.0, "label_text_baseline": "middle", "label_text_color": "#444444", "label_text_font": "helvetica", "label_text_font_size": "13px", "label_text_font_style": "normal", "label_text_line_height": 1.2, "label_text_outline_color": null, "label_width": 20, "level": "annotation", "location": "top_right", "margin": 10, "name": null, "ncols": "auto", "nrows": "auto", "orientation": "vertical", "padding": 10, "propagate_hover": false, "renderers": [], "spacing": 3, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "title": null, "title_location": "above", "title_standoff": 5, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- border_line_dash = []#
- Type:
图例边框轮廓的虚线样式。
- click_policy = 'none'#
- Type:
定义当图例项被点击时会发生什么。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- inactive_fill_alpha = 0.7#
- Type:
当图例项样式处于非活动状态时的填充透明度。这些控制了一个覆盖层,当相应的字形处于非活动状态时(例如通过使其半透明),可以用来模糊它。
- inactive_fill_color = 'white'#
-
当图例项样式处于非活动状态时的填充颜色。这些控制了一个覆盖层,可以在相应的字形处于非活动状态时(例如通过使其半透明)用于遮挡该项。
- 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_baseline = 'middle'#
- Type:
图例标签的文本基线。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- location = 'top_right'#
-
图例应该绘制的位置。它可以是
LegendLocation的枚举值之一,或者是一个(x, y)元组,表示屏幕坐标中的绝对位置(从左下角开始的像素距离)。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- ncols = 'auto'#
-
图例布局中的列数。默认情况下,如果方向是垂直的,则为一列,否则为图例中的项目数。
ncols在水平方向上优先于nrows。
- nrows = 'auto'#
-
图例布局中的行数。默认情况下,如果方向是水平的,则为一行,否则为图例中的项目数。
nrows在垂直方向上优先于ncols。
- orientation = 'vertical'#
- Type:
图例条目在绘制时应该垂直放置还是水平放置。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- title_text_baseline = 'bottom'#
- Type:
标题文本的文本基线值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class LegendItem(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
ModelJSON Prototype
{ "id": "p53709", "index": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label": { "type": "value", "value": null }, "name": null, "renderers": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true }
- index = None#
-
用于绘制代表项目的列数据索引。
如果为None(默认值),则Bokeh会自动选择一个索引来使用。如果标签不引用数据列名,这通常是数据源中的第一个数据点。否则,如果标签确实引用列名,图例将具有“groupby”行为,并将从列中的每个“组”中选择并显示代表性点。
如果设置为一个数字,Bokeh 将在所有情况下使用该数字作为索引。
- label = None#
- Type:
NullStringSpec
此图例的标签。可以是一个字符串,或者是ColumnDataSource的一列。如果
label是一个字段,那么它必须在渲染器的数据源中。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Metric(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Dimensional用于定义度量单位的模型。
JSON Prototype
{ "base_unit": { "name": "unset", "type": "symbol" }, "exclude": [], "full_unit": null, "id": "p53717", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750 ] }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
-
在非精确模式下选择的首选值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class MetricLength(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Metric长度测量的公制单位。
JSON Prototype
{ "base_unit": "m", "exclude": [ "dm", "hm" ], "full_unit": null, "id": "p53726", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750 ] }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
-
在非精确模式下选择的首选值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class NormalHead(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
ArrowHead渲染一个闭合的箭头头部。
JSON Prototype
{ "fill_alpha": { "type": "value", "value": 1.0 }, "fill_color": { "type": "value", "value": "black" }, "id": "p53735", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "name": null, "size": { "type": "value", "value": 25 }, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [] }
- line_cap = 'butt'#
- Type:
LineCapSpec
箭头头部轮廓的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
箭头轮廓的虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
箭头头部轮廓的虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
箭头头部轮廓的线条连接值。
- line_width = 1#
- Type:
箭头头部轮廓的线宽值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- size = 25#
- Type:
箭头的大小,以像素为单位。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class OpenHead(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
ArrowHead渲染一个开放箭头的头部。
JSON Prototype
{ "id": "p53749", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "name": null, "size": { "type": "value", "value": 25 }, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [] }
- line_cap = 'butt'#
- Type:
LineCapSpec
箭头头部轮廓的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
箭头轮廓的虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
箭头头部轮廓的虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
箭头头部轮廓的线连接值。
- line_width = 1#
- Type:
箭头头部轮廓的线宽值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- size = 25#
- Type:
箭头的大小,以像素为单位。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class PolyAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
Annotation渲染一个带阴影的多边形区域作为注释。
请参阅多边形注释以获取有关绘制多边形注释的信息。
JSON Prototype
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "editable": false, "elements": [], "fill_alpha": 0.4, "fill_color": "#fff9ba", "group": null, "hatch_alpha": 1.0, "hatch_color": "black", "hatch_extra": { "type": "map" }, "hatch_pattern": null, "hatch_scale": 12.0, "hatch_weight": 1.0, "hover_fill_alpha": 0.4, "hover_fill_color": null, "hover_hatch_alpha": 1.0, "hover_hatch_color": "black", "hover_hatch_extra": { "type": "map" }, "hover_hatch_pattern": null, "hover_hatch_scale": 12.0, "hover_hatch_weight": 1.0, "hover_line_alpha": 0.3, "hover_line_cap": "butt", "hover_line_color": null, "hover_line_dash": [], "hover_line_dash_offset": 0, "hover_line_join": "bevel", "hover_line_width": 1, "id": "p53761", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": 0.3, "line_cap": "butt", "line_color": "#cccccc", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "xs": [], "xs_units": "data", "y_range_name": "default", "ys": [], "ys_units": "data" }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- hover_line_dash = []#
- Type:
悬停在多边形上时的虚线值。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_dash = []#
- Type:
多边形的虚线值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ReciprocalMetric(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Metric用于定义倒数度量单位的模型,例如
m^{-1}。JSON Prototype
{ "base_unit": { "name": "unset", "type": "symbol" }, "exclude": [], "full_unit": null, "id": "p53813", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750 ] }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
-
在非精确模式下选择的首选值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ReciprocalMetricLength(*args: Any, id: ID | None = None, **kwargs: Any)[源代码]#
基础类:
ReciprocalMetric长度测量倒数的公制单位。
JSON Prototype
{ "base_unit": "m", "exclude": [ "dm", "hm" ], "full_unit": null, "id": "p53822", "include": null, "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "name": null, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticks": [ 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750 ] }
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- ticks = [1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 250, 500, 750]#
-
在非精确模式下选择的首选值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ScaleBar(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Annotation表示一个比例尺注释。
JSON Prototype
{ "anchor": "auto", "background_fill_alpha": 0.95, "background_fill_color": "#ffffff", "background_hatch_alpha": 1.0, "background_hatch_color": "black", "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "bar_length": 0.2, "bar_length_units": "screen", "bar_line_alpha": 1.0, "bar_line_cap": "butt", "bar_line_color": "black", "bar_line_dash": [], "bar_line_dash_offset": 0, "bar_line_join": "bevel", "bar_line_width": 2, "border_line_alpha": 0.5, "border_line_cap": "butt", "border_line_color": "#e5e5e5", "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "dimensional": { "attributes": { "include": null }, "id": "p53832", "name": "MetricLength", "type": "object" }, "elements": [], "group": null, "id": "p53831", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "label": "@{value} @{unit}", "label_align": "center", "label_location": "below", "label_standoff": 5, "label_text_align": "left", "label_text_alpha": 1.0, "label_text_baseline": "middle", "label_text_color": "#444444", "label_text_font": "helvetica", "label_text_font_size": "13px", "label_text_font_style": "normal", "label_text_line_height": 1.2, "label_text_outline_color": null, "length_sizing": "adaptive", "level": "annotation", "location": "top_right", "margin": 10, "name": null, "orientation": "horizontal", "padding": 10, "propagate_hover": false, "range": "auto", "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "ticker": { "attributes": { "minor_ticks": [], "ticks": [] }, "id": "p53833", "name": "FixedTicker", "type": "object" }, "title": "", "title_align": "center", "title_location": "above", "title_standoff": 5, "title_text_align": "left", "title_text_alpha": 1.0, "title_text_baseline": "bottom", "title_text_color": "#444444", "title_text_font": "helvetica", "title_text_font_size": "13px", "title_text_font_style": "italic", "title_text_line_height": 1.2, "title_text_outline_color": null, "unit": "m", "visible": true, "x_range_name": "default", "x_units": "data", "y_range_name": "default", "y_units": "data" }
- anchor = 'auto'#
- Type:
Either(Auto,Enum(Anchor),Tuple(Either(Auto,Either(Enum(Align),Enum(HAlign),Percent)),Either(Auto,Either(Enum(Align),Enum(VAlign),Percent))))
比例尺定位的起点。
如果在任何或两个维度中使用
"auto",则这些维度中的锚点将根据位置确定,以使比例尺看起来更好。
- bar_length = 0.2#
- Type:
条形的长度。
这可能是帧的一部分、像素数量或数据空间中的距离,具体取决于
bar_length_units的配置。
- bar_length_units = 'screen'#
- Type:
Enum(枚举(screen, data, percent))
定义如何解释
bar_length。支持的值为:
"screen"- 长度以像素为单位提供,或者如果提供的值在[0, 1]范围内,则作为父容器(例如框架)的百分比提供"data"- 长度以数据空间单位提供"percent"- 长度是父容器(例如框架)的百分比
注意
"data"单位假设使用的是线性比例或类似线性的比例(例如分类比例)。否则,条形的长度将取决于位置。
- bar_line_dash = []#
- Type:
条形线样式的虚线值。
- border_line_dash = []#
- Type:
比例尺边框线型的虚线样式。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- label = '@{value} @{unit}'#
- Type:
标签模板。
这可以使用特殊变量:
@{value}当前值。可以选择提供一个数字格式化器,例如@{value}{%.2f}。@{unit}测量单位。
- label_text_baseline = 'middle'#
- Type:
标签文本样式的文本基线值。
- length_sizing = 'adaptive'#
- Type:
Enum(枚举(adaptive, exact))
定义如何解释条的长度。
这可以是:
"adaptive"- 计算的长度适合由维度模型提供的一组刻度。如果没有提供刻度,则行为与使用"exact"大小调整时相同"exact"- 计算的长度按原样使用
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- location = 'top_right'#
- Type:
Either(Enum(Anchor),Tuple(Either(Enum(HAlign),Float,Either(Float,Datetime,Factor)),Either(Enum(VAlign),Float,Either(Float,Datetime,Factor))))
比例尺在父容器(通常是笛卡尔框架)中的位置。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- orientation = 'horizontal'#
- Type:
比例尺应该是水平还是垂直方向。
- range = 'auto'#
-
显示比例的范围。
这可以是一个范围引用或
"auto",在这种情况下,比例尺将根据比例尺的方向选择框架的默认x或y范围。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- ticker = FixedTicker(id='p54012', ...)#
-
用于计算轴组件位置的代码。
请注意,如果使用没有预定义刻度的默认固定刻度器,那么比例尺的外观将只是一个没有额外标记的实心条。
- title_text_baseline = 'bottom'#
- Type:
标题文本样式的文本基线值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Slope(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Annotation渲染一条斜线作为注释。
请参阅Slopes以获取关于绘制斜率的信息。
JSON Prototype
{ "above_fill_alpha": 0.4, "above_fill_color": null, "above_hatch_alpha": 1.0, "above_hatch_color": "black", "above_hatch_extra": { "type": "map" }, "above_hatch_pattern": null, "above_hatch_scale": 12.0, "above_hatch_weight": 1.0, "below_fill_alpha": 0.4, "below_fill_color": null, "below_hatch_alpha": 1.0, "below_hatch_color": "black", "below_hatch_extra": { "type": "map" }, "below_hatch_pattern": null, "below_hatch_scale": 12.0, "below_hatch_weight": 1.0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "gradient": null, "group": null, "id": "p54070", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": 1.0, "line_cap": "butt", "line_color": "black", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "y_intercept": null, "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_dash = []#
- Type:
线条的虚线值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Span(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Annotation渲染水平或垂直线跨度。
请参阅Spans以获取关于绘制跨度的信息。
JSON Prototype
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "dimension": "width", "editable": false, "elements": [], "group": null, "hover_line_alpha": 0.3, "hover_line_cap": "butt", "hover_line_color": null, "hover_line_dash": [], "hover_line_dash_offset": 0, "hover_line_join": "bevel", "hover_line_width": 1, "id": "p54112", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "line_alpha": 1.0, "line_cap": "butt", "line_color": "black", "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": 1, "location": null, "location_units": "data", "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "visible": true, "x_range_name": "default", "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- hover_line_dash = []#
- Type:
悬停时跨度的虚线值。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- line_dash = []#
- Type:
跨度的虚线值。
- location_units = 'data'#
- Type:
位置属性的单位类型。默认情况下解释为“数据空间”单位。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class TeeHead(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
ArrowHead渲染一个T型箭头头部。
JSON Prototype
{ "id": "p54147", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "name": null, "size": { "type": "value", "value": 25 }, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [] }
- line_cap = 'butt'#
- Type:
LineCapSpec
箭头头部轮廓的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
箭头轮廓的虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
箭头头部轮廓的虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
箭头头部轮廓的线连接值。
- line_width = 1#
- Type:
箭头头部轮廓的线宽值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- size = 25#
- Type:
箭头的大小,以像素为单位。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class TextAnnotation(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
Annotation文本注释模型(如标签和标题)的基类。
注意
这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。单独实例化它没有用处。
JSON Prototype
{ "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p54159", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "padding": 0, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_align": "left", "text_alpha": 1.0, "text_baseline": "bottom", "text_color": "#444444", "text_font": "helvetica", "text_font_size": "16px", "text_font_style": "normal", "text_line_height": 1.2, "text_outline_color": null, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- border_line_dash = []#
- Type:
文本边界框的虚线值。
- border_radius = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
允许标签的盒子具有圆角。为了获得最佳效果,它应与
padding结合使用。注意
此属性是实验性的,可能会随时更改。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- padding = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative),Struct,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
标签文本与其边界框(边框)之间的额外空间。
注意
此属性是实验性的,可能会随时更改。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text = ''#
- Type:
TextLike
要渲染的文本或LaTeX符号。
- text_baseline = 'bottom'#
- Type:
文本的基线值。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Title(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
TextAnnotation渲染单个标题框作为注释。
请参阅Titles以获取关于绘制标题的信息。
JSON Prototype
{ "align": "left", "background_fill_alpha": 1.0, "background_fill_color": null, "background_hatch_alpha": 1.0, "background_hatch_color": null, "background_hatch_extra": { "type": "map" }, "background_hatch_pattern": null, "background_hatch_scale": 12.0, "background_hatch_weight": 1.0, "border_line_alpha": 1.0, "border_line_cap": "butt", "border_line_color": null, "border_line_dash": [], "border_line_dash_offset": 0, "border_line_join": "bevel", "border_line_width": 1, "border_radius": 0, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p54203", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "offset": 0, "padding": 0, "propagate_hover": false, "renderers": [], "standoff": 10, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "text": "", "text_align": "left", "text_alpha": 1.0, "text_baseline": "bottom", "text_color": "#444444", "text_font": "helvetica", "text_font_size": "13px", "text_font_style": "bold", "text_line_height": 1.0, "text_outline_color": null, "vertical_align": "bottom", "visible": true, "x_range_name": "default", "y_range_name": "default" }
- border_line_dash = []#
- Type:
文本边界框的虚线值。
- border_radius = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
允许标签的盒子具有圆角。为了获得最佳效果,它应与
padding结合使用。注意
此属性是实验性的,可能会随时更改。
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- offset = 0#
- Type:
将文本偏移一定数量的像素(可以是正数或负数)。根据标题的位置,文本会向不同的方向移动:
上方:将标题向右移动
right: 将标题向下移动
下方:将标题向右移动
左:将标题上移
- padding = 0#
- Type:
Either(NonNegative,Tuple(NonNegative,NonNegative),Struct,Tuple(NonNegative,NonNegative,NonNegative,NonNegative),Struct)
标签文本与其边界框(边框)之间的额外空间。
注意
此属性是实验性的,可能会随时更改。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- text = ''#
- Type:
TextLike
要渲染的文本或LaTeX符号。
- text_baseline = 'bottom'#
- Type:
文本的基线值。
- vertical_align = 'bottom'#
- Type:
文本在其封闭空间中的对齐方式,跨越文本的方向。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class ToolbarPanel(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
HTMLAnnotationJSON Prototype
{ "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "elements": [], "group": null, "id": "p54251", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "annotation", "name": null, "propagate_hover": false, "renderers": [], "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "toolbar": { "name": "unset", "type": "symbol" }, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'annotation'#
- Type:
指定绘制此渲染器的层级。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class VeeHead(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
ArrowHead渲染一个V型箭头头部。
JSON Prototype
{ "fill_alpha": { "type": "value", "value": 1.0 }, "fill_color": { "type": "value", "value": "black" }, "id": "p54269", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "name": null, "size": { "type": "value", "value": 25 }, "subscribed_events": { "type": "set" }, "syncable": true, "tags": [] }
- line_cap = 'butt'#
- Type:
LineCapSpec
箭头头部轮廓的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
箭头轮廓的虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
箭头头部轮廓的虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
箭头头部轮廓的线连接值。
- line_width = 1#
- Type:
箭头头部轮廓的线宽值。
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- size = 25#
- Type:
箭头的大小,以像素为单位。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#
- class Whisker(*args: Any, id: ID | None = None, **kwargs: Any)[source]#
基础类:
DataAnnotation沿着一个维度渲染一个须线。
请参阅Whiskers以获取关于绘制须线的信息。
JSON Prototype
{ "base": { "field": "base", "type": "field" }, "context_menu": null, "coordinates": null, "css_classes": [], "css_variables": { "type": "map" }, "dimension": "height", "elements": [], "group": null, "id": "p54283", "js_event_callbacks": { "type": "map" }, "js_property_callbacks": { "type": "map" }, "level": "underlay", "line_alpha": { "type": "value", "value": 1.0 }, "line_cap": { "type": "value", "value": "butt" }, "line_color": { "type": "value", "value": "black" }, "line_dash": { "type": "value", "value": [] }, "line_dash_offset": { "type": "value", "value": 0 }, "line_join": { "type": "value", "value": "bevel" }, "line_width": { "type": "value", "value": 1 }, "lower": { "field": "lower", "type": "field" }, "lower_head": { "attributes": { "size": { "type": "value", "value": 10 } }, "id": "p54287", "name": "TeeHead", "type": "object" }, "name": null, "propagate_hover": false, "renderers": [], "source": { "attributes": { "data": { "type": "map" }, "selected": { "attributes": { "indices": [], "line_indices": [] }, "id": "p54285", "name": "Selection", "type": "object" }, "selection_policy": { "id": "p54286", "name": "UnionRenderers", "type": "object" } }, "id": "p54284", "name": "ColumnDataSource", "type": "object" }, "styles": { "type": "map" }, "stylesheets": [], "subscribed_events": { "type": "set" }, "syncable": true, "tags": [], "upper": { "field": "upper", "type": "field" }, "upper_head": { "attributes": { "size": { "type": "value", "value": 10 } }, "id": "p54288", "name": "TeeHead", "type": "object" }, "visible": true, "x_range_name": "default", "y_range_name": "default" }
- base_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- css_variables = {}#
-
允许定义动态计算的CSS变量。
例如,这可以用于协调canvas渲染器和/或视觉效果与基于HTML的UI元素之间的定位和样式。
这里定义的变量等同于在CSS样式表中的
:host { ... }下设置相同的变量。注意
此属性是实验性的,可能会随时更改。
- elements = []#
- Type:
附加到此渲染器的基于DOM的UI元素集合。
这可以包括像工具提示这样的浮动元素,允许在此渲染器与其UI元素之间建立父子关系。
注意
此属性相当于基于DOM的用户界面中的
Pane.elements。
- group = None#
- Type:
注意
此属性是实验性的,可能会随时更改。
- level = 'underlay'#
- Type:
指定绘制此渲染器的层级。
- line_cap = 'butt'#
- Type:
LineCapSpec
须线体的线帽值。
- line_dash = []#
- Type:
DashPatternSpec
须线主体的虚线值。
- line_dash_offset = 0#
- Type:
IntSpec
须线体的虚线偏移值。
- line_join = 'bevel'#
- Type:
LineJoinSpec
须线体的线条连接值。
- line_width = 1#
- Type:
须线体的线宽值。
- lower_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- name = None#
-
此模型的任意用户提供的名称。
在查询文档以检索特定Bokeh模型时,此名称可能很有用。
>>> plot.circle([1,2,3], [4,5,6], name="temp") >>> plot.select(name="temp") [GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]
注意
对于提供的任何名称,没有强制执行唯一性保证或其他条件,Bokeh也不会直接使用这些名称。
- source = ColumnDataSource(id='p54428', ...)#
- Type:
在图表上渲染注释时使用的本地数据源。
- stylesheets = []#
- Type:
用于底层DOM元素的附加样式表。
请注意,所有Bokeh的组件都使用影子DOM,因此任何包含的样式表都必须反映这一点,例如使用
:hostCSS伪选择器来访问根DOM元素。
- syncable = True#
- Type:
指示当在网页浏览器中更新时,此模型是否应同步回Bokeh服务器。设置为
False可能有助于在处理频繁更新的对象时减少网络流量,这些对象的更新值我们不需要。注意
将此属性设置为
False将阻止此对象上的任何on_change()回调触发。然而,任何JS端的回调仍然会工作。
- tags = []#
- Type:
一个可选的任意用户提供的值列表,用于附加到此模型。
在查询文档以检索特定Bokeh模型时,这些数据可能很有用:
>>> r = plot.circle([1,2,3], [4,5,6]) >>> r.tags = ["foo", 10] >>> plot.select(tags=['foo', 10]) [GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]
或者只是将任何必要的元数据附加到模型的一种便捷方式,这些元数据可以通过
CustomJS回调等方式访问。注意
对于提供的任何标签,没有强制执行唯一性保证或其他条件,Bokeh也不会出于任何原因直接使用这些标签。
- upper_units = 'data'#
- Type:
用于关联属性的单位:canvas、screen 或 data
- apply_theme(property_values: dict[str, Any]) None#
应用一组主题值,这些值将用于替代默认值,但不会覆盖应用程序设置的值。
传入的字典可能会保持原样并与其他实例共享以节省内存(因此调用者和
HasProps实例都不应修改它)。- Parameters:
property_values (dict) – 用于替换默认值的主题值
- Returns:
无
- classmethod clear_extensions() None#
清除当前定义的所有自定义扩展。
序列化调用将导致任何当前定义的自定义扩展被包含在生成的文档中,无论是否被使用。此方法可用于清除所有现有的自定义扩展定义。
- classmethod descriptors() list[PropertyDescriptor[Any]]#
属性描述符的列表,按定义的顺序排列。
- equals(other: HasProps) bool#
模型的结构相等性。
- Parameters:
其他 (HasProps) – 要比较的其他实例
- Returns:
如果属性在结构上相等,则为True,否则为False
- js_link(attr: str, other: Model, other_attr: str, attr_selector: int | str | None = None) None#
使用JavaScript链接两个Bokeh模型属性。
这是一个便捷的方法,简化了添加一个
CustomJS回调的过程,以便在另一个属性值发生变化时更新一个 Bokeh 模型属性。- Parameters:
在版本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)
这相当于:
from bokeh.models import CustomJS range_slider.js_on_change('value', CustomJS(args=dict(other=plot.x_range), code="other.start = this.value[0]" ) )
- js_on_change(event: str, *callbacks: JSChangeCallback) None#
将一个
CustomJS回调附加到任意的BokehJS模型事件。在BokehJS方面,模型属性的更改事件具有
"change:property_name"的形式。为了方便起见,如果传递给此方法的事件名称也是模型上属性的名称,那么它将自动加上"change:"前缀:# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
然而,除了属性更改事件之外,还有其他类型的事件可能对响应有用。例如,每当数据流式传输到
ColumnDataSource时运行回调,可以在源上使用"stream"事件:source.js_on_change('streaming', callback)
- classmethod lookup(name: str, *, raises: bool = True) PropertyDescriptor[Any] | None#
在类上找到Bokeh属性的
PropertyDescriptor,给定属性名称。- Parameters:
- Returns:
名为
name的属性的描述符- Return type:
- on_change(attr: str, *callbacks: PropertyCallback) None#
在此对象上添加一个回调,当
attr发生变化时触发。- Parameters:
attr (str) – 此对象上的一个属性名称
*callbacks (callable) – 要注册的回调函数
- Returns:
无
示例
widget.on_change('value', callback1, callback2, ..., callback_n)
- on_event(event: str | type[Event], *callbacks: Callable[[Event], None] | Callable[[], None]) None#
当此模型上发生指定事件时运行回调
并非所有模型都支持所有事件。 有关哪些模型能够触发特定事件的更多信息,请参见bokeh.events中的具体事件。
- classmethod properties(*, _with_props: bool = False) set[str] | dict[str, Property[Any]]#
收集此类的属性名称。
警告
在Bokeh的未来版本中,此方法将返回一个将属性名称映射到属性对象的字典。为了使当前使用此方法的方式具有未来兼容性,请将返回值包装在
list中。- Returns:
属性名称
- 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]#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
- Returns:
序列[模型]
- select_one(selector: SelectorType) Model | None#
查询此对象及其所有引用,以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配对象,如果未找到任何内容,则返回None :param selector: :type selector: JSON-like
- Returns:
模型
- set_from_json(name: str, value: Any, *, setter: Setter | None = None) None#
从JSON设置此对象的属性值。
- Parameters:
name (str) – 要设置的属性名称
value (JSON-value) – 要设置给属性的值
setter (ClientSession 或 ServerSession 或 None, 可选) –
这用于防止对Bokeh应用程序的“回旋镖”更新。
在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在执行更新的会话进行注释。该值通过更新触发的任何后续更改通知传播。会话可以将事件设置器与自身进行比较,并抑制源自自身的任何更新。
- Returns:
无
- set_select(selector: type[Model] | SelectorType, updates: dict[str, Any]) None#
使用指定的属性/值更新来更新与给定选择器匹配的对象。
- Parameters:
selector (类似JSON的)
更新 (dict)
- Returns:
无
- themed_values() dict[str, Any] | None#
获取任何主题提供的覆盖。
结果以属性名称到值的字典形式返回,如果此实例没有主题覆盖任何值,则返回
None。- Returns:
字典或无
- to_serializable(serializer: Serializer) ObjectRefRep#
将此对象转换为可序列化的表示形式。
- trigger(attr: str, old: Any, new: Any, hint: DocumentPatchedEvent | None = None, setter: Setter | None = None) None#