bokeh.models.mappers

用于在客户端中将值从一个范围或空间映射到另一个范围或空间的模型。

映射器(与比例尺相反)不被假定为可逆的。

class CategoricalColorMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.CategoricalMapper, bokeh.models.mappers.ColorMapper

将分类因子映射到颜色。

传递给此映射器但不在因子列表中的值将被映射到 nan_color .

end

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2017", "marketing"] ,然后设置 end=1 将仅根据第一个子因子(即在本例中基于年份)执行颜色映射 "2016""2017"

如果 None 然后所有子因子 start 颜色因子将用于结束贴图。

factors

属性类型: EitherSeqStringSeqTupleStringString )),请 SeqTupleStringStringString ) ) )

映射到某个目标范围的一系列因素/类别。例如,以下颜色映射器:

mapper = CategoricalColorMapper(palette=["red", "blue"], factors=["foo", "bar"])

将映射因子 "foo" 红色和因素 "bar" 变成蓝色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

nan_color

属性类型: Color

当数据为NaN或不可映射时使用的颜色。(默认值:“灰色”)

palette

属性类型: SeqColor

用作映射的目标调色板的一系列颜色。

此属性也可以设置为 String 中显示的任何选项板的名称 bokeh.palettes .

start

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2016", "marketing"] ,然后设置 start=1 将仅根据第二个子因子(即,在本例中,基于部门)执行颜色映射 "sales""marketing"

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "end": null,
  "factors": null,
  "id": "5312",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "nan_color": "gray",
  "palette": null,
  "start": 0,
  "subscribed_events": [],
  "tags": []
}
class CategoricalMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.Mapper

将类别因子映射到其他值的映射器的基类。

注解

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

end

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2017", "marketing"] ,然后设置 end=1 将仅根据第一个子因子(即在本例中基于年份)执行颜色映射 "2016""2017"

如果 None 然后所有子因子 start 颜色因子将用于结束贴图。

factors

属性类型: EitherSeqStringSeqTupleStringString )),请 SeqTupleStringStringString ) ) )

映射到某个目标范围的一系列因素/类别。例如,以下颜色映射器:

mapper = CategoricalColorMapper(palette=["red", "blue"], factors=["foo", "bar"])

将映射因子 "foo" 红色和因素 "bar" 变成蓝色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

start

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2016", "marketing"] ,然后设置 start=1 将仅根据第二个子因子(即,在本例中,基于部门)执行颜色映射 "sales""marketing"

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "end": null,
  "factors": null,
  "id": "5323",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "start": 0,
  "subscribed_events": [],
  "tags": []
}
class CategoricalMarkerMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.CategoricalMapper

将分类因子映射到标记类型。

传递给此映射器但不在因子列表中的值将被映射到 default_value .

注解

此映射器主要用于 Scatter 按标记类型参数化的标记标志符号。

default_value

属性类型: MarkerTypeMarkerType

在传入无法识别的因子以进行映射时使用的标记类型。

end

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2017", "marketing"] ,然后设置 end=1 将仅根据第一个子因子(即在本例中基于年份)执行颜色映射 "2016""2017"

如果 None 然后所有子因子 start 颜色因子将用于结束贴图。

factors

属性类型: EitherSeqStringSeqTupleStringString )),请 SeqTupleStringStringString ) ) )

映射到某个目标范围的一系列因素/类别。例如,以下颜色映射器:

mapper = CategoricalColorMapper(palette=["red", "blue"], factors=["foo", "bar"])

将映射因子 "foo" 红色和因素 "bar" 变成蓝色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
markers

属性类型: SeqMarkerTypeMarkerType ) )

用作映射目标的一系列标记类型。

name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

start

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2016", "marketing"] ,然后设置 start=1 将仅根据第二个子因子(即,在本例中,基于部门)执行颜色映射 "sales""marketing"

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "default_value": "circle",
  "end": null,
  "factors": null,
  "id": "5332",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "markers": null,
  "name": null,
  "start": 0,
  "subscribed_events": [],
  "tags": []
}
class CategoricalPatternMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.CategoricalMapper

将分类因子映射到填充填充图案。

传递给此映射器但不在因子列表中的值将被映射到 default_value .

在版本1.1.1中添加

default_value

属性类型: HatchPatternType

在传入无法识别的因子以进行映射时使用的填充图案。

end

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2017", "marketing"] ,然后设置 end=1 将仅根据第一个子因子(即在本例中基于年份)执行颜色映射 "2016""2017"

如果 None 然后所有子因子 start 颜色因子将用于结束贴图。

factors

属性类型: EitherSeqStringSeqTupleStringString )),请 SeqTupleStringStringString ) ) )

映射到某个目标范围的一系列因素/类别。例如,以下颜色映射器:

mapper = CategoricalColorMapper(palette=["red", "blue"], factors=["foo", "bar"])

将映射因子 "foo" 红色和因素 "bar" 变成蓝色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

patterns

属性类型: SeqHatchPatternType

用作映射目标的一系列标记类型。

start

属性类型: Int

使用before映射“切片”数据因子的起始索引。

例如,如果“数据到颜色”贴图包含两个级别的因子,例如 ["2016", "sales"]["2016", "marketing"] ,然后设置 start=1 将仅根据第二个子因子(即,在本例中,基于部门)执行颜色映射 "sales""marketing"

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "default_value": " ",
  "end": null,
  "factors": null,
  "id": "5343",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "patterns": null,
  "start": 0,
  "subscribed_events": [],
  "tags": []
}
class ColorMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.Mapper

颜色映射器类型的基类。

注解

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

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

nan_color

属性类型: Color

当数据为NaN或不可映射时使用的颜色。(默认值:“灰色”)

palette

属性类型: SeqColor

用作映射的目标调色板的一系列颜色。

此属性也可以设置为 String 中显示的任何选项板的名称 bokeh.palettes .

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "id": "5354",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "nan_color": "gray",
  "palette": null,
  "subscribed_events": [],
  "tags": []
}
class ContinuousColorMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.ColorMapper

连续颜色映射器类型的基类。

注解

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

domain

属性类型: ListTupleInstanceGlyphRendererEitherStringListString ) ) ) )

从中收集数据以建立数据度量的glyph呈现器集合。如果为空,则将使用映射数据。

high

属性类型: Float

要映射到调色板的范围的最大值。高于此值的值被限制为 high .如果 None ,该值是从数据中推断出来的。

high_color

属性类型: Color

如果数据高于 high 价值观。如果没有,值大于 high 映射到调色板中的最后一种颜色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
low

属性类型: Float

要映射到调色板的范围的最小值。低于此值的值被限制为 low .如果 None ,该值是从数据中推断出来的。

low_color

属性类型: Color

如果数据低于 low 价值观。如果没有,值小于 low 映射到调色板中的第一种颜色。

name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

nan_color

属性类型: Color

当数据为NaN或不可映射时使用的颜色。(默认值:“灰色”)

palette

属性类型: SeqColor

用作映射的目标调色板的一系列颜色。

此属性也可以设置为 String 中显示的任何选项板的名称 bokeh.palettes .

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "domain": [],
  "high": null,
  "high_color": null,
  "id": "5362",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "low": null,
  "low_color": null,
  "name": null,
  "nan_color": "gray",
  "palette": null,
  "subscribed_events": [],
  "tags": []
}
class EqHistColorMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.ContinuousColorMapper

bins

属性类型: Int

柱状图数量

domain

属性类型: ListTupleInstanceGlyphRendererEitherStringListString ) ) ) )

从中收集数据以建立数据度量的glyph呈现器集合。如果为空,则将使用映射数据。

high

属性类型: Float

要映射到调色板的范围的最大值。高于此值的值被限制为 high .如果 None ,该值是从数据中推断出来的。

high_color

属性类型: Color

如果数据高于 high 价值观。如果没有,值大于 high 映射到调色板中的最后一种颜色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
low

属性类型: Float

要映射到调色板的范围的最小值。低于此值的值被限制为 low .如果 None ,该值是从数据中推断出来的。

low_color

属性类型: Color

如果数据低于 low 价值观。如果没有,值小于 low 映射到调色板中的第一种颜色。

name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

nan_color

属性类型: Color

当数据为NaN或不可映射时使用的颜色。(默认值:“灰色”)

palette

属性类型: SeqColor

用作映射的目标调色板的一系列颜色。

此属性也可以设置为 String 中显示的任何选项板的名称 bokeh.palettes .

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "bins": 65536,
  "domain": [],
  "high": null,
  "high_color": null,
  "id": "5375",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "low": null,
  "low_color": null,
  "name": null,
  "nan_color": "gray",
  "palette": null,
  "subscribed_events": [],
  "tags": []
}
class LinearColorMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.ContinuousColorMapper

范围内的地图编号 [low, high] 线性排列成一系列颜色(调色板)。

例如,如果范围是 [0,99] 调色板是 ['red', 'green', 'blue'] ,这些值将按如下方式映射:

      x < 0  : 'red'     # values < low are clamped
 0 >= x < 33 : 'red'
33 >= x < 66 : 'green'
66 >= x < 99 : 'blue'
99 >= x      : 'blue'    # values > high are clamped
domain

属性类型: ListTupleInstanceGlyphRendererEitherStringListString ) ) ) )

从中收集数据以建立数据度量的glyph呈现器集合。如果为空,则将使用映射数据。

high

属性类型: Float

要映射到调色板的范围的最大值。高于此值的值被限制为 high .如果 None ,该值是从数据中推断出来的。

high_color

属性类型: Color

如果数据高于 high 价值观。如果没有,值大于 high 映射到调色板中的最后一种颜色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
low

属性类型: Float

要映射到调色板的范围的最小值。低于此值的值被限制为 low .如果 None ,该值是从数据中推断出来的。

low_color

属性类型: Color

如果数据低于 low 价值观。如果没有,值小于 low 映射到调色板中的第一种颜色。

name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

nan_color

属性类型: Color

当数据为NaN或不可映射时使用的颜色。(默认值:“灰色”)

palette

属性类型: SeqColor

用作映射的目标调色板的一系列颜色。

此属性也可以设置为 String 中显示的任何选项板的名称 bokeh.palettes .

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "domain": [],
  "high": null,
  "high_color": null,
  "id": "5389",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "low": null,
  "low_color": null,
  "name": null,
  "nan_color": "gray",
  "palette": null,
  "subscribed_events": [],
  "tags": []
}
class LogColorMapper(*args, **kwargs)[源代码]

基类:bokeh.models.mappers.ContinuousColorMapper

范围内的地图编号 [low, high] 以自然对数比例排列成一系列颜色(调色板)。

例如,如果范围是 [0,25] 调色板是 ['red', 'green', 'blue'] ,这些值将按如下方式映射:

         x < 0     : 'red'     # values < low are clamped
0     >= x < 2.72  : 'red'     # math.e ** 1
2.72  >= x < 7.39  : 'green'   # math.e ** 2
7.39  >= x < 20.09 : 'blue'    # math.e ** 3
20.09 >= x         : 'blue'    # values > high are clamped

警告

这个 LogColorMapper 仅适用于标量值为非负的图像。

domain

属性类型: ListTupleInstanceGlyphRendererEitherStringListString ) ) ) )

从中收集数据以建立数据度量的glyph呈现器集合。如果为空,则将使用映射数据。

high

属性类型: Float

要映射到调色板的范围的最大值。高于此值的值被限制为 high .如果 None ,该值是从数据中推断出来的。

high_color

属性类型: Color

如果数据高于 high 价值观。如果没有,值大于 high 映射到调色板中的最后一种颜色。

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
low

属性类型: Float

要映射到调色板的范围的最小值。低于此值的值被限制为 low .如果 None ,该值是从数据中推断出来的。

low_color

属性类型: Color

如果数据低于 low 价值观。如果没有,值小于 low 映射到调色板中的第一种颜色。

name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

nan_color

属性类型: Color

当数据为NaN或不可映射时使用的颜色。(默认值:“灰色”)

palette

属性类型: SeqColor

用作映射的目标调色板的一系列颜色。

此属性也可以设置为 String 中显示的任何选项板的名称 bokeh.palettes .

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "domain": [],
  "high": null,
  "high_color": null,
  "id": "5402",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "low": null,
  "low_color": null,
  "name": null,
  "nan_color": "gray",
  "palette": null,
  "subscribed_events": [],
  "tags": []
}
class Mapper(*args, **kwargs)[源代码]

基类:bokeh.models.transforms.Transform

映射器的基类。

注解

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

js_event_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

事件名称到列表的映射 CustomJS 回调。

通常,应该使用 Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

属性类型: DictStringListInstanceCustomJS ) ) )

属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。

通常,应该使用 Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
name

属性类型: String

用户为此模型提供的任意名称。

当查询文档以检索特定的Bokeh模型时,这个名称非常有用。

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注解

对于提供的任何名称,不提供唯一性保证或其他条件,Bokeh也不以任何理由直接使用该名称。

subscribed_events

属性类型: ListString

Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。

tags

属性类型: ListAny

附加到此模型的任意用户提供的值的可选列表。

当查询文档以检索特定的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)

应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。

传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。

参数

property_values (dict) -- 主题值用于替代默认值

返回

没有

classmethod dataspecs()

收集所有人的名字 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称 DataSpec 性质

返回类型

set[str]

classmethod dataspecs_with_props()

收集一张记录所有人姓名的字典 DataSpec 类的属性。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

名称和 DataSpec 性质

返回类型

dict[str, DataSpec]

equals(other)

模型的结构相等。

参数

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

返回

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

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

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

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

  • other (Model) -- 要链接到的Bokeh模型自我属性

  • other_attr (str) -- 上的财产 other 连接在一起

  • attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr

在版本1.1中添加

引发

ValueError --

实际案例

此代码与 js_link

select.js_link('value', plot, 'sizing_mode')

相当于:

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

此外,要使用属性选择器将范围滑块的左侧附加到绘图的x_范围:

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, *callbacks)

附A 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)
layout(side, plot)
classmethod lookup(name)

找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。

参数

name (str) -- 要搜索的属性的名称

返回

名为的属性的描述符 name

返回类型

PropertyDescriptor

on_change(attr, *callbacks)

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

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

返回

没有

例子:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

收集此类的属性名称。

这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。

参数

with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)

返回

属性名称

返回类型

set[str]

classmethod properties_containers()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

容器属性名称

返回类型

set[str]

classmethod properties_with_refs()

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

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

返回

具有引用的属性的名称

返回类型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

收集将属性名称映射到其值的dict。

这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。

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

参数

include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)

返回

从属性名到属性值的映射

返回类型

dict

query_properties_with_values(query, include_defaults=True)

查询的属性值 HasProps 带有谓词的实例。

参数
  • query (callable) -- 接受属性描述符并返回True或False的可调用文件

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

返回

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

返回类型

dict

references()

返回全部 Models 此对象引用的。

remove_on_change(attr, *callbacks)

从此对象中删除回调

select(selector)

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

参数

selector (JSON-like) --

返回

SEQ [模型]

select_one(selector)

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

返回

模型

set_from_json(name, json, models=None, setter=None)

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

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

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

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

set_select(selector, updates)

更新与具有指定属性/值的给定选择器匹配的对象将更新。

参数
  • selector (JSON-like) --

  • updates (dict) --

返回

没有

themed_values()

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

结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。

返回

不记名

to_json(include_defaults)

返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。

对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。

没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

to_json_string(include_defaults)

返回编码此对象属性的JSON字符串。

对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。

没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。

在大多数情况下,最好序列化和反序列化整个文档。

参数

include_defaults (bool) -- 是否包含未从默认值更改的属性

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

删除所有主题值并恢复默认值。

返回

没有

update(**kwargs)

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

返回

没有

实际案例

以下是等效的:

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

对象的属性从字典中更新。

参数
  • json_attributes -- (JSON dict):要更新的属性和值

  • models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。

  • setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。

返回

没有

property document

这个 Document 此模型附加到(可以是 None

property struct

此模型的Bokeh协议“结构”,即以下形式的dict:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

此外,可能还有 subtype 字段(如果此模型是子类型)。

JSON Prototype
{
  "id": "5415",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "subscribed_events": [],
  "tags": []
}