表示顶层打印对象的模型。
Plot
基类:bokeh.models.layouts.LayoutDOM
bokeh.models.layouts.LayoutDOM
表示绘图的模型,包含字形、辅助线、注释。
above
属性类型: List ( Instance ( Renderer ) )
List
Instance
Renderer
要占用绘图上方区域的渲染器列表。
align
属性类型: Either ( Enum ( Align ) Tuple ( Enum ( Align ) Enum ( Align ) ) )
Either
Enum
Align
Tuple
父容器中的对齐点。
如果布局是这个元素的一个子元素,那么这个布局是有用的。自对齐可以被父容器覆盖(例如网格跟踪对齐)。
aspect_ratio
属性类型: Either ( Enum (枚举(自动)), Float )
Float
描述组件的宽度和高度之间的比例关系。
如果任何一个组件的尺寸在尺寸上是灵活的,这就可以了。如果设置为数字, width / height = aspect_ratio 关系将得到维持。否则,如果设置为 "auto" ,组件的首选宽度和高度将用于确定纵横比(如果未设置,则不保留纵横比)。
width / height = aspect_ratio
"auto"
aspect_scale
属性类型: Float
为增加纵横比控制提供的值。此值乘以所需的计算值 match_aspect . aspect_scale 定义为图形的宽高比。
match_aspect
例如,一个带有 aspect_scale 值为2将导致 数据单位 在屏幕上绘制为像素宽度为像素高度两倍的矩形。
注解
此设置仅在以下情况下生效 match_aspect 设置为 True .
True
background
属性类型: Color
Color
组件的背景色。
background_fill_alpha
属性类型: Percent
Percent
打印背景样式的填充字母。
background_fill_color
打印背景样式的填充颜色。
below
要占用绘图下方区域的渲染器列表。
border_fill_alpha
打印边框样式的填充字母。
border_fill_color
打印边框样式的填充颜色。
center
要占用绘图中心区域(帧)的渲染器列表。
css_classes
属性类型: List ( String )
String
要添加到此DOM元素的CSS类名的列表。注意:类名只是按原样添加,不提供其他保证。
也允许从元组赋值,但是这些元组是经过调整的——属性将始终包含一个列表。
disabled
属性类型: Bool
Bool
小部件在呈现时是否被禁用。
如果 True ,小部件将变灰,并且不会响应UI事件。
extra_x_ranges
属性类型: Dict ( String , Instance ( Range ) )
Dict
Range
用于映射x坐标的其他命名范围。
这对于添加其他轴很有用。
extra_y_ranges
用于映射y坐标的其他命名范围。
frame_height
属性类型: Int
Int
绘图框的高度或绘图的内部高度,不包括轴、标题、边框填充等。
frame_width
绘图框的宽度或绘图的内部宽度,不包括任何轴、标题、边框填充等。
height
属性类型: NonNegativeInt
NonNegativeInt
高度(像素)。
这可以是固定高度,也可以是首选高度,具体取决于高度大小调整策略。
height_policy
属性类型: Either ( Auto , Enum ( SizingPolicy ) )
Auto
SizingPolicy
描述组件应如何保持其高度。
使用组件的首选大小策略。
"fixed"
准确使用 height 像素。如果组件不能容纳在可用的垂直空间中,它将溢出。
"fit"
使用组件的首选高度(如果设置)并允许在最小和最大高度边界(如果设置)内适合可用的垂直空间。组件的高度既不会被激进地最小化也不会被最大化。
"min"
使用尽可能少的垂直空间,不小于最小高度(如果设置)。起点是首选高度(如果设置)。组件的高度可能会收缩或增长,这取决于父布局、方面管理和其他因素。
"max"
使用尽可能多的垂直空间,不超过最大高度(如果设置)。起点是首选高度(如果设置)。组件的高度可能会收缩或增长,这取决于父布局、方面管理和其他因素。
这是一个实验特性,将来可能会改变。你可以随意使用。喜欢使用 sizing_mode 如果这种程度的控制不是绝对必要的。
sizing_mode
hidpi
是否在可用时使用HiDPI模式。
inner_height
这是绘图画布的精确高度,即实际绘图的高度,不带工具栏等。注意,这是在web浏览器中计算的,因此此属性仅适用于能够双向通信的后端(服务器、笔记本电脑)。
这是一个实验性的特性,API在不久的将来可能会改变。
inner_width
这是绘图画布的确切宽度,即实际绘图的宽度,不带工具栏等。注意,这是在web浏览器中计算的,因此此属性仅适用于能够双向通信的后端(服务器、笔记本)。
js_event_callbacks
属性类型: Dict ( String , List ( Instance ( CustomJS ) ) )
CustomJS
事件名称到列表的映射 CustomJS 回调。
通常,应该使用 Model.js_on_event 方法:
Model.js_on_event
callback = CustomJS(code="console.log('tap event occurred')") plot.js_on_event('tap', callback)
js_property_callbacks
属性名到列表的映射 CustomJS 回调,在创建文档时在BokehJS侧设置。
通常,应该使用 Model.js_on_change 方法:
Model.js_on_change
callback = CustomJS(code="console.log('stuff')") plot.x_range.js_on_change('start', callback)
left
要占用绘图左侧区域的渲染器列表。
lod_factor
应用详细程度抽取时要使用的抽取因子。
lod_interval
交互工具事件启用详细程度下采样的间隔(毫秒)。
lod_threshold
多个数据点,在这些数据点之上,glyph渲染器可以执行详细程度的下采样。设置为 None 禁用任何详细程度的下采样。
None
lod_timeout
检查交互工具事件是否仍在发生的超时(毫秒)。启用详细级别模式后,将每隔 lod_timeout 如果没有发生交互工具事件,则禁用详细级别模式。
margin
属性类型: Tuple ( Int , Int , Int , Int )
允许在组件周围创建额外的空间。元组中的值按如下顺序排列-上边距、右边距、下边距和左边距,类似于CSS标准。负边距值可用于从任何方向收缩空间。
指定绘图的纵横比行为。宽高比定义为宽高比。此属性控制Bokeh是否应尝试匹配 数据空间 以像素为单位的(宽度/高度) 屏幕空间 .
Default is False which indicates that the data aspect ratio and the screen aspect ratio vary independently. True indicates that the plot aspect ratio of the axes will match the aspect ratio of the pixel extent the axes. The end result is that a 1x1 area in data space is a square in pixels, and conversely that a 1x1 pixel is a square in data units.
False
此设置仅在有两个数据范围时生效。此设置仅设置初始绘图和后续重置。工具(单轴缩放、无约束框缩放)可以更改纵横比。
警告
此设置与链接多个绘图的数据区域不兼容。这样做可能会导致未定义的行为。
max_height
如果高度可调,组件的最大高度(以像素为单位)。
max_width
如果宽度可调,组件的最大宽度(以像素为单位)。
min_border
一个方便属性来设置所有 min_border_X 属性设置为相同的值。如果显式设置了单个border属性,它将重写 min_border .
min_border_X
min_border_bottom
中心绘图区域底部下方填充区域的最小大小(以像素为单位)。
这是一个 最低限度 . 填充区域可以根据需要扩展以容纳标题或轴等。
min_border_left
中心绘图区域左侧填充区域的最小大小(以像素为单位)。
min_border_right
中心绘图区域右侧填充区域的最小大小(以像素为单位)。
min_border_top
中心绘图区域顶部上方填充区域的最小大小(以像素为单位)。
min_height
如果高度可调,组件的最小高度(以像素为单位)。
min_width
如果宽度可调,组件的最小宽度(以像素为单位)。
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也不以任何理由直接使用该名称。
outer_height
这是布局的精确高度,即实际绘图的高度,以及工具栏等。注意,这是在web浏览器中计算的,因此此属性仅适用于能够双向通信的后端(服务器、笔记本)。
outer_width
这是布局的确切宽度,即实际绘图的高度,以及工具栏等。请注意,这是在web浏览器中计算的,因此此属性仅适用于能够双向通信的后端(服务器、笔记本)。
outline_line_alpha
打印边框轮廓的线alpha。
outline_line_cap
属性类型: Enum ( LineCap )
LineCap
打印边框轮廓的线帽。
outline_line_color
打印边框轮廓的线条颜色。
outline_line_dash
属性类型: DashPattern
DashPattern
打印边框轮廓的虚线。
outline_line_dash_offset
打印边框轮廓的线条短划线偏移。
outline_line_join
属性类型: Enum ( LineJoin )
LineJoin
打印边框轮廓的线条连接。
outline_line_width
打印边框轮廓的线宽。
output_backend
属性类型: Enum ( OutputBackend )
OutputBackend
指定绘图区域的输出后端。默认值是HTML5画布。
当设置为 webgl ,没有WebGL渲染实现的glyph将返回到2D画布上进行渲染。
webgl
plot_height
一块地的外部高度,包括任何轴、标题、边界填充等。
这直接对应于HTML画布的高度。
plot_width
图的外部宽度,包括轴、标题、边框填充等。
这与HTML画布的宽度直接对应。
renderers
此打印的所有渲染器的列表,除图示符和标记外,还包括辅助线和注释。
此属性可以手动操作,但是 add_glyph 和 add_layout 建议使用方法来帮助确保执行所有必要的设置。
add_glyph
add_layout
reset_policy
属性类型: Enum ( ResetPolicy )
ResetPolicy
图应如何响应重置。通过deafult,标准操作是清除任何工具状态历史,将绘图范围返回到其原始值,撤消所有选择,并发出一个 Reset 事件。如果需要自定义,则可以将此属性设置为 "event_only" ,它将禁止除重置事件外的所有操作。
Reset
"event_only"
right
要占用绘图右侧区域的渲染器列表。
属性类型: Enum ( SizingMode )
SizingMode
组件的大小。
这是一个高级设置,用于保持组件的宽度和高度。要获得对大小的更细粒度控制,请使用 width_policy , height_policy 和 aspect_ratio 相反(这些优先于 sizing_mode )
width_policy
可能的情况:
组件没有响应。它将保留其原始的宽度和高度,而不考虑任何后续的浏览器窗口调整事件。
"stretch_width"
组件将相应地调整大小以拉伸到可用的宽度,而不保持任何宽高比。组件的高度取决于组件的类型,可以固定或适合组件的内容。
"stretch_height"
组件将相应地调整大小以拉伸到可用的高度,而不保持任何纵横比。组件的宽度取决于组件的类型,可以固定或适合组件的内容。
"stretch_both"
如果纵横比是独立的,那么纵横比会完全占据垂直部分的空间。
"scale_width"
组件将相应地调整大小以拉伸到可用的宽度,同时保持原始或提供的纵横比。
"scale_height"
组件将相应地调整大小以拉伸到可用高度,同时保持原始或提供的纵横比。
"scale_both"
组件将相应地调整到可用的宽度和高度,同时保持原始或提供的纵横比。
subscribed_events
Python回调订阅的事件列表。对于这个模型,这是一组将从BokehJS传递回Python的事件。
tags
属性类型: List ( Any )
Any
附加到此模型的任意用户提供的值的可选列表。
当查询文档以检索特定的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
属性类型: Instance ( Title )
Title
情节的标题。可以是文本字符串或标题批注。
title_location
属性类型: Enum ( Location )
Location
标题的位置。左侧或右侧的标题将被旋转。
toolbar
属性类型: Instance ( Toolbar )
Toolbar
与此绘图关联的工具栏,其中包含所有工具。如有必要,它将与打印一起自动创建。
toolbar_location
工具栏的位置。如果设置为“无”,则不会将工具栏附着到绘图上。
toolbar_sticky
将工具栏粘贴到绘图边缘。默认值:True。如果为False,则工具栏将位于轴、标题等之外。
visible
组件是否可见以及是否是布局的一部分。
width
组件的宽度(以像素为单位)。
这可以是固定宽度,也可以是首选宽度,具体取决于宽度大小调整策略。
描述组件应如何保持其宽度。
准确使用 width 像素。如果组件不能容纳在可用的水平空间中,它将溢出。
使用组件的首选宽度(如果设置),并允许它在最小和最大宽度范围内(如果设置)适合可用的水平空间。组件的宽度既不会被积极地最小化也不会被最大化。
尽可能少地使用水平空间,不小于最小宽度(如果设置)。起点是首选宽度(如果设置)。组件的宽度可能会根据父布局、方面管理和其他因素而缩小或增大。
使用尽可能多的水平空间,不超过最大宽度(如果设置)。起点是首选宽度(如果设置)。组件的宽度可能会收缩或增长,这取决于父布局、方面管理和其他因素。
x_range
属性类型: Instance ( Range )
绘图水平尺寸的(默认)数据范围。
x_scale
属性类型: Instance ( Scale )
Scale
使用什么样的比例将数据空间中的x坐标转换为屏幕空间中的x坐标。
y_range
绘图垂直尺寸的(默认)数据范围。
y_scale
使用什么样的比例将数据空间中的y坐标转换为屏幕空间中的y坐标。
并将与数据范围关联的源添加到绘图中。
此函数将负责创建和配置Glyph对象,然后将其添加到绘图的渲染器列表中。
source (DataSource) -- 供所有字形使用的数据源
glyph (Glyph) -- 要添加到绘图中的字形
additional keyword arguments are passed on as-is to the (Any) --
initializer. (Glyph) --
GlyphRenderer
在指定位置将对象添加到绘图中。
obj (Renderer) -- 要添加到绘图中的对象
place (str, optional) -- 添加对象的位置(默认为“中心”)有效位置为:“左”、“右”、“上”、“下”、“中”。
没有
add_tile
添加新的 TileRenderer 进入之内 Plot.renderers
TileRenderer
Plot.renderers
tile_source (TileSource) -- 包含tileset配置的磁贴源实例
keyword arguments are passed on as-is to the tile renderer (Additional) --
add_tools
将工具添加到绘图中。
*tools (Tool) -- 要添加到绘图中的工具
apply_theme
应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。
传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。
HasProps
property_values (dict) -- 主题值用于替代默认值
column
返回此绘图是否在GridPlot的给定列中。
col (int) -- 要测试的列的索引
gridplot (GridPlot) -- 要检查的网格图
布尔
dataspecs
收集所有人的名字 DataSpec 类的属性。
DataSpec
这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。
名称 DataSpec 性质
set[str]
dataspecs_with_props
收集一张记录所有人姓名的字典 DataSpec 类的属性。
名称和 DataSpec 性质
dict[str, DataSpec]
equals
模型的结构相等。
other (HasProps) -- 要比较的另一个实例
如果属性在结构上相等,则为True,否则为False
js_link
使用JavaScript链接两个Bokeh模型属性。
这是一种方便的方法,它简化了添加一个CustomJS回调,以便在另一个Bokeh模型属性更改值时更新它。
attr (str) -- 此模型上的Bokeh属性的名称
other (Model) -- 要链接到的Bokeh模型自我属性
other_attr (str) -- 上的财产 other 连接在一起
other
attr_selector (Union[int, str]) -- 链接可订阅项中的项的索引 attr
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
附A CustomJS 对任意BokehJS模型事件的回调。
在BokehJS方面,模型属性的更改事件具有以下形式 "change:property_name" . 为了方便起见,如果传递给此方法的事件名也是模型上某个属性的名称,那么它的前缀将是 "change:" 自动:
"change:property_name"
"change:"
# these two are equivalent source.js_on_change('data', callback) source.js_on_change('change:data', callback)
但是,除了属性更改事件之外,还有其他类型的事件可以用来响应。例如,每当数据流式传输到 ColumnDataSource 使用 "stream" 源上的事件:
ColumnDataSource
"stream"
source.js_on_change('streaming', callback)
layout
lookup
找到 PropertyDescriptor 对于类上的Bokeh属性,给定属性名。
PropertyDescriptor
name (str) -- 要搜索的属性的名称
名为的属性的描述符 name
on_change
在此对象上添加回调以在 attr 变化。
attr (str) -- 此对象的属性名
*callbacks (callable) -- 要注册的回调函数
例子:
widget.on_change('value', callback1, callback2, ..., callback_n)
properties
收集此类的属性名称。
这种方法 任选地 遍历类层次结构并包含在任何父类上定义的属性。
with_bases (bool, optional) -- 是否在结果中包含在父类上定义的属性。(默认值:True)
属性名称
properties_containers
收集此类上所有容器属性的名称。
容器属性名称
properties_with_refs
收集该类上也有引用的所有属性的名称。
具有引用的属性的名称
properties_with_values
收集将属性名称映射到其值的dict。
跳过不可序列化的属性,属性值采用“序列化”格式,这可能与通常从属性中读取的值略有不同;此方法的目的是返回无损重建对象实例所需的信息。
include_defaults (bool, optional) -- 是否包含自创建对象后尚未显式设置的属性。(默认值:True)
从属性名到属性值的映射
dict
query_properties_with_values
查询的属性值 HasProps 带有谓词的实例。
query (callable) -- 接受属性描述符并返回True或False的可调用文件
include_defaults (bool, optional) -- 是否包含尚未由用户显式设置的属性(默认值:True)
为匹配的属性映射属性名称和值
references
返回全部 Models 此对象引用的。
Models
remove_on_change
从此对象中删除回调
row
返回此绘图是否在GridPlot的给定行中。
row (int) -- 要测试的行的索引
select
查询此对象及其所有引用以查找与给定选择器匹配的对象。
有几种不同的方法来调用 select 方法。最常见的方法是提供一个类似JSON的查询字典作为单个参数或关键字参数:
selector (JSON-like) -- 一些示例文本
kwargs -- 查询dict键/值作为关键字参数
另外,为了与 Model.select ,选择器dict可以作为 selector 关键字参数,在这种情况下 kwargs['selector'] 用于查询。
Model.select
selector
kwargs['selector']
为了方便起见,可以通过提供 name 字符串作为单个参数:
name (str) -- 要查询的名称
也可以通过提供 Model 子类作为单个参数:
Model
type (Model) -- 要查询的类型
SEQ [模型]
# These three are equivalent p.select(selector={"type": HoverTool}) p.select({"type": HoverTool}) p.select(HoverTool) # These two are also equivalent p.select({"name": "mycircle"}) p.select("mycircle") # Keyword arguments can be supplied in place of selector dict p.select({"name": "foo", "type": HoverTool}) p.select(name="foo", type=HoverTool)
select_one
查询此对象及其所有引用以查找与给定选择器匹配的对象。如果找到多个对象,则引发错误。返回单个匹配的对象,如果找不到任何对象,则返回无:param selector::type selector:JSON like
模型
set_from_json
从JSON设置此对象的属性值。
name -- (str):要设置的属性的名称
json -- (JSON value):要设置为的属性的值
models (dict or None, optional) -- 模型ID到模型的映射(默认值:无)在要更新的属性也有引用的值的情况下,需要这样做。
setter (ClientSession or ServerSession or None, optional) -- 这是用来防止“飞镖”更新到博克应用程序。在Bokeh服务器应用程序的上下文中,对属性的传入更新将使用正在进行更新的会话进行注释。此值通过更新触发的任何后续更改通知传播。会话可以将事件设置程序与其自身进行比较,并禁止任何源自自身的更新。
set_select
更新与具有指定属性/值的给定选择器匹配的对象将更新。
selector (JSON-like) --
updates (dict) --
themed_values
获取任何主题提供的覆盖。
结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。
不记名
to_json
返回此对象属性的字典,只包含“JSON类型”(string、number、boolean、none、dict、list)。
对其他对象的引用被序列化为“refs”(只是对象ID和类型信息),因此反序列化程序需要单独拥有这些其他对象的完整属性。
没有对应的 from_json() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。
from_json()
在大多数情况下,最好序列化和反序列化整个文档。
include_defaults (bool) -- 是否包含未从默认值更改的属性
to_json_string
返回编码此对象属性的JSON字符串。
对其他对象的引用被序列化为引用(仅对象ID和类型信息),因此反序列化程序将需要单独拥有这些其他对象的完整属性。
没有对应的 from_json_string() 因为反序列化对象通常是在文档上下文中完成的(因为文档可以解析引用)。
from_json_string()
trigger
unapply_theme
删除所有主题值并恢复默认值。
update
从给定的关键字参数更新对象的属性。
以下是等效的:
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 -- (JSON dict):要更新的属性和值
axis
可喷溅列表 Axis 物体。
Axis
document
这个 Document 此模型附加到(可以是 None )
Document
grid
可喷溅列表 Grid 物体。
Grid
hover
可喷溅列表 HoverTool 物体。
HoverTool
legend
可喷溅列表 Legend 物体。
Legend
struct
此模型的Bokeh协议“结构”,即以下形式的dict:
{ 'type' : << view model name >> 'id' : << unique model id >> }
此外,可能还有 subtype 字段(如果此模型是子类型)。
xaxis
可喷溅列表 Axis x维度的对象。
xgrid
可喷溅列表 Grid x维度的对象。
yaxis
可喷溅列表 Axis 对象。
ygrid
可喷溅列表 Grid 对象。
{ "above": [], "align": "start", "aspect_ratio": null, "aspect_scale": 1, "background": null, "background_fill_alpha": 1.0, "background_fill_color": "#ffffff", "below": [], "border_fill_alpha": 1.0, "border_fill_color": "#ffffff", "center": [], "css_classes": [], "disabled": false, "extra_x_ranges": {}, "extra_y_ranges": {}, "frame_height": null, "frame_width": null, "height": null, "height_policy": "auto", "hidpi": true, "id": "7724", "js_event_callbacks": {}, "js_property_callbacks": {}, "left": [], "lod_factor": 10, "lod_interval": 300, "lod_threshold": 2000, "lod_timeout": 500, "margin": [ 0, 0, 0, 0 ], "match_aspect": false, "max_height": null, "max_width": null, "min_border": 5, "min_border_bottom": null, "min_border_left": null, "min_border_right": null, "min_border_top": null, "min_height": null, "min_width": null, "name": null, "outline_line_alpha": 1.0, "outline_line_cap": "butt", "outline_line_color": "#e5e5e5", "outline_line_dash": [], "outline_line_dash_offset": 0, "outline_line_join": "bevel", "outline_line_width": 1, "output_backend": "canvas", "plot_height": 600, "plot_width": 600, "renderers": [], "reset_policy": "standard", "right": [], "sizing_mode": null, "subscribed_events": [], "tags": [], "title": { "id": "7726" }, "title_location": "above", "toolbar": { "id": "7727" }, "toolbar_location": "right", "toolbar_sticky": true, "visible": true, "width": null, "width_policy": "auto", "x_range": { "id": "7729" }, "x_scale": { "id": "7730" }, "y_range": { "id": "7725" }, "y_scale": { "id": "7728" } }