Bokeh提供了许多交互式工具。
工具交互有五种类型:
平移/拖动
点击/点击
滚动/挤压
行动
检查员
因为前三个组成了手势工具的类别,在任何给定的时间内,每个手势只能有一个工具处于活动状态。激活的工具在工具栏上由工具旁边的高亮显示指示。动作是即时或模式操作,只有在按下工具栏中的按钮时才会激活。检查员是被动的工具,它只是以某种方式报告信息或注释绘图,并且可能总是处于活动状态,而不管其他工具当前处于活动状态。
Action
基类:bokeh.models.tools.Tool
bokeh.models.tools.Tool
工具栏中按钮工具的基类。
注解
这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。 单独实例化是没有用的。
js_event_callbacks
属性类型: Dict ( String , List ( Instance ( CustomJS ) ) )
Dict
String
List
Instance
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)
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
属性类型: List ( String )
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也不以任何理由直接使用这些标签。
apply_theme
应用一组主题值,这些值将被使用而不是默认值,但不会覆盖应用程序集值。
传入的字典可以保持原样,并与其他实例共享以节省内存(因此无论是调用方还是 HasProps 实例应该修改它)。
HasProps
property_values (dict) -- 主题值用于替代默认值
没有
dataspecs
收集所有人的名字 DataSpec 类的属性。
DataSpec
这种方法 总是 遍历类层次结构并包含在任何父类上定义的属性。
名称 DataSpec 性质
set[str]
dataspecs_with_props
收集一张记录所有人姓名的字典 DataSpec 类的属性。
名称和 DataSpec 性质
dict[str, DataSpec]
equals
模型的结构相等。
other (HasProps) -- 要比较的另一个实例
如果属性在结构上相等,则为True,否则为False
from_string
获取一个字符串并返回相应的 Tool 实例。
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
从此对象中删除回调
select
查询此对象及其所有引用以查找与给定选择器匹配的对象。
selector (JSON-like) --
SEQ [模型]
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
更新与具有指定属性/值的给定选择器匹配的对象将更新。
updates (dict) --
themed_values
获取任何主题提供的覆盖。
结果以dict形式从属性名返回到值,或者 None 如果没有主题覆盖此实例的任何值。
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):要更新的属性和值
document
这个 Document 此模型附加到(可以是 None )
Document
struct
此模型的Bokeh协议“结构”,即以下形式的dict:
{ 'type' : << view model name >> 'id' : << unique model id >> }
此外,可能还有 subtype 字段(如果此模型是子类型)。
{ "id": "8392", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
BoxEditTool
基类:bokeh.models.tools.EditTool, bokeh.models.tools.Drag, bokeh.models.tools.Tap
bokeh.models.tools.EditTool
bokeh.models.tools.Drag
bokeh.models.tools.Tap
工具栏图标 :
允许绘制、拖动和删除 Rect 在一个或多个渲染器上通过编辑底层 ColumnDataSource 数据。与其他绘图工具一样,要编辑的渲染器必须以列表形式明确提供。绘制新框时,数据将始终添加到 ColumnDataSource 在第一个提供的渲染器上。
Rect
该工具将修改数据源上与 x , y , width 和 height 字形的值。数据源中的任何其他列都将填充 empty_value ,添加新框时。
x
y
width
height
empty_value
支持的操作包括:
添加框:按住shift键,然后单击并拖动绘图上的任何位置,或者双击一次开始绘图,移动鼠标并再次双击完成绘图。
移动盒子:点击并拖动一个已有的盒子,一旦你松开鼠标按钮,这个盒子就会被放下。
删除框:点击一个框将其选中,然后在鼠标位于绘图区域内时按<<backspace>>键。
到 Move 或 删除 一次多个箱子:
移动选择:用<<shift>>+点击(或其他选择工具)选择框,然后拖动到绘图上的任何位置。选择并拖动特定的框将同时移动这两个框。
删除选择:使用<<shift>>+点击(或其他选择工具)选择框,然后在鼠标位于绘图区域内时按<<backspace>>。
custom_icon
属性类型: Image
Image
显示在工具栏中的图标。
图标可以作为图像的字符串文件名PIL提供 Image 对象,或一个RGB(A)NumPy数组。
custom_tooltip
用于替代默认名称的自定义工具提示标签。
dimensions
属性类型: Enum ( Dimensions )
Enum
Dimensions
方框图的自由尺寸。默认情况下,用户可以自由绘制任何尺寸的框。如果只设置了“宽度”,则框将被约束为跨越打印的整个垂直空间,只能控制水平尺寸。如果只设置了“高度”,则框将被约束为跨越打印的整个水平空间,并且可以控制垂直尺寸。
属性类型: Either ( Bool , Int , Float , Date , Datetime , Color , String )
Either
Bool
Int
Float
Date
Datetime
Color
定义在将新图示符插入到中时要在非坐标列上插入的值 ColumnDataSource 当y和y列被定义为空时,加上y和列的颜色将被填充。
num_objects
属性类型: Int
定义可绘制的框的数量限制。默认情况下,对对象的数量没有限制,但如果启用,将删除最旧的绘制框,以便为添加的新框腾出空间。
renderers
属性类型: List ( Instance ( Renderer ) )
Renderer
与可编辑的散点图示符相对应的渲染器的显式列表。
{ "custom_icon": null, "custom_tooltip": null, "dimensions": "both", "empty_value": null, "id": "8398", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "num_objects": 0, "renderers": [], "subscribed_events": [], "tags": [] }
BoxSelectTool
基类:bokeh.models.tools.Drag, bokeh.models.tools.SelectTool
bokeh.models.tools.SelectTool
框选择工具允许用户通过在绘图区域上拖动鼠标或手指来显示矩形区域来对绘图进行选择。拖动事件的结束表示选择区域已就绪。
见 选定和未选定图示符 有关设置选定和未选定图示符样式的信息。
框选择的自由尺寸。默认情况下,用户可以自由绘制任何尺寸的选择框。如果只设置了“宽度”,则框将被约束为跨越打印的整个垂直空间,只能控制水平尺寸。如果只设置了“高度”,则框将被约束为跨越打印的整个水平空间,并且可以控制垂直尺寸。
mode
属性类型: Enum ( SelectionMode )
SelectionMode
定义了新的选择应该发生什么。默认设置是替换现有选择。其他选项包括附加到所选内容、与之相交或从中减去。
names
要查询的名称列表。如果已设置,则仅渲染器的 name 将使用属性。
origin
属性类型: Enum (枚举(角、中心))
指示矩形选择区域是从角(根据方向而定的左上角或右下角)还是从框的中心开始。
overlay
属性类型: Instance ( BoxAnnotation )
BoxAnnotation
绘制以指示选择区域的着色批注。
属性类型: Either ( Auto , List ( Instance ( Renderer ) ) )
Auto
要测试的渲染器的显式列表。如果未设置,则默认为绘图上的所有渲染器。
select_every_mousemove
属性类型: Bool
选择计算是应该在每个鼠标事件上进行,还是在选择区域完成时只进行一次。默认值:False
{ "dimensions": "both", "id": "8410", "js_event_callbacks": {}, "js_property_callbacks": {}, "mode": "replace", "name": null, "names": [], "origin": "corner", "overlay": { "id": "8411" }, "renderers": "auto", "select_every_mousemove": false, "subscribed_events": [], "tags": [] }
BoxZoomTool
基类:bokeh.models.tools.Drag
框缩放工具允许用户通过在绘图区域上拖动鼠标或手指来定义要缩放到的绘图的矩形区域。拖动事件的结束表示选择区域已就绪。
BoxZoomTool 与不兼容 GMapPlot 由于googlemaps对纵横比的显式控制方式。将此工具添加到 GMapPlot 不会有任何效果。
GMapPlot
缩放框的自由尺寸。默认情况下,用户可以自由绘制任何尺寸的缩放框。如果只提供“宽度”,则框将被约束为跨越打印的整个垂直空间,只能控制水平尺寸。如果只提供“高度”,则框将被约束为跨越打印的整个水平空间,并且可以控制垂直尺寸。
match_aspect
缩放区域的纵横比是否应限制在同一区域内。
如果工具仅限于一个维度,则此值无效。
指示矩形缩放区域是从角(根据方向而定的左上角或右下角)还是从框的中心开始。
{ "dimensions": "both", "id": "8424", "js_event_callbacks": {}, "js_property_callbacks": {}, "match_aspect": false, "name": null, "origin": "corner", "overlay": { "id": "8425" }, "subscribed_events": [], "tags": [] }
CrosshairTool
基类:bokeh.models.tools.Inspection
bokeh.models.tools.Inspection
十字线工具是一个被动的检查器工具。它通常始终处于启用状态,但可以在与 工具栏图标 如上图所示。
十字线工具在绘图上以当前鼠标位置为中心绘制十字线注释。通过设置 dimension 属性仅限于 width 或 height .
dimension
十字准线工具要跟踪的尺寸。默认情况下,将同时绘制垂直线和水平线。如果只提供“宽度”,则只绘制一条水平线。如果只提供“高度”,则只绘制一条垂直线。
line_alpha
属性类型: Float
用于绘制路径的alpha值。
可接受的值是介于0(透明)和1(不透明)之间的浮点数。
line_color
属性类型: Color
用于绘制路径的颜色。
可接受值为:
147个 CSS colors ,例如 'green' , 'indigo'
'green'
'indigo'
RGB(A)十六进制值,例如。, '#FF0000' , '#44444444'
'#FF0000'
'#44444444'
0到255之间的三元组整数(r,g,b)
(r,g,b,a)的4元组,其中r,g,b是0..255之间的整数,a是0..1之间的整数
line_width
以像素为单位的笔划宽度。
toggleable
此检查工具的工具栏中是否应显示“开/关”切换按钮。如果 False ,则绘图的查看器将无法使用工具栏打开或关闭检查器。
False
{ "dimensions": "both", "id": "8435", "js_event_callbacks": {}, "js_property_callbacks": {}, "line_alpha": 1.0, "line_color": "black", "line_width": 1, "name": null, "subscribed_events": [], "tags": [], "toggleable": true }
CustomAction
基类:bokeh.models.tools.Action
bokeh.models.tools.Action
执行自定义操作,例如。 CustomJS 当工具栏图标被激活时回调。
示例
tool = CustomAction(icon="icon.png", callback=CustomJS(code='alert("foo")')) plot.add_tools(tool)
action_tooltip
悬停在自定义操作图标上时显示的工具提示。
callback
属性类型: Instance ( Callback )
Callback
激活自定义操作图标时要执行的Bokeh回调。
icon
{ "action_tooltip": "Perform a Custom Action", "callback": null, "icon": null, "id": "8446", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
CustomJSHover
基类:bokeh.model.Model
bokeh.model.Model
定义要应用于悬停工具字段的自定义格式设置工具。
这个模型可以配置JavaScript代码来格式化悬停工具提示。JavaScript代码可以访问要格式化的当前值、一些特殊变量以及工具提示上配置的任何格式。变量 value 将包含未转换的值。变量 special_vars 将提供包含以下内容的dict:
value
special_vars
x 鼠标的数据空间x坐标
y 鼠标的数据空间y坐标
sx 鼠标的屏幕空间x坐标
sx
sy 鼠标的屏幕空间y坐标
sy
data_x 悬停图示符的数据空间x坐标
data_x
data_y 悬停图示符的数据空间y坐标
data_y
indices 当前悬停的所有索引列的图示符
indices
name 价值观 name 悬停字形渲染器的属性
如果悬停在“多”字形上,例如 Patches 或 MultiLine 然后一个 segment_index 钥匙也会出现。
Patches
MultiLine
segment_index
Finally, the value of the format passed in the tooltip specification is available as the format variable.
format
例如,以下代码添加了一个自定义格式化程序,以将WebMercator北距坐标(以米为单位)格式化为纬度:
lat_custom = CustomJSHover(code=""" var projections = Bokeh.require("core/util/projections"); var x = special_vars.x var y = special_vars.y var coords = projections.wgs84_mercator.invert(x, y) return "" + coords[1] """) p.add_tools(HoverTool( tooltips=[( 'lat','@y{custom}' )], formatters=dict(y=lat_custom) ))
警告
这个Bokeh模型的明确目的是嵌入 原始JavaScript代码 用于执行浏览器。如果代码的任何部分是从不受信任的用户输入派生的,那么在传递给Bokeh之前,必须谨慎地清理用户输入。
args
属性类型: Dict ( String , Instance ( Model ) )
Model
名称到Bokeh绘图对象的映射。回调代码段可以使用这些对象作为回调的命名参数的值。
code
转换单个值的JavaScript代码片段。变量 value 将包含未转换的值,并且可能在呈现时出现在函数命名空间中。另外,变量 special_vars 将提供一份包含以下内容的dict:
代码段将生成函数体,因此需要一个return语句。
code = ''' return value + " total" '''
{ "args": {}, "code": "", "id": "8455", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
Drag
基类:bokeh.models.tools.Gesture
bokeh.models.tools.Gesture
响应拖动事件的工具的基类。
{ "id": "8463", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
EditTool
所有交互式绘图工具类型的基类。
{ "custom_icon": null, "custom_tooltip": null, "empty_value": null, "id": "8469", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "renderers": [], "subscribed_events": [], "tags": [] }
FreehandDrawTool
允许徒手绘制 Patches 和 MultiLine 雕文。要绘制的图示符可以通过 renderers 财产。
该工具将修改数据源上与 xs 和 ys 字形的值。数据源中的任何其他列都将使用声明的 empty_value ,添加新点时。
xs
ys
绘制顶点:单击并拖动以绘制线
删除面片/多行:轻触一个面片/多行以将其选中,然后在鼠标位于绘图区域内时按<<backspace>>键。
定义可绘制的面片或多条线的数量限制。默认情况下,对象的数量没有限制,但如果启用,则当达到限制时,将覆盖最旧的绘制面片或多线。
{ "custom_icon": null, "custom_tooltip": null, "empty_value": null, "id": "8479", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "num_objects": 0, "renderers": [], "subscribed_events": [], "tags": [] }
Gesture
{ "id": "8490", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
HelpTool
为用户提供“帮助”链接的按钮工具。
悬停文本可以通过 help_tooltip 属性和重定向站点也被覆盖。
help_tooltip
悬停在帮助图标上时显示的工具提示。
redirect
网站将被重定向通过点击。
{ "help_tooltip": "Click the question mark to learn more about Bokeh plot tools.", "id": "8496", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "redirect": "https://docs.bokeh.org/en/latest/docs/user_guide/tools.html", "subscribed_events": [], "tags": [] }
HoverTool
悬停工具是一个被动的检查器工具。它通常始终处于启用状态,但可以在与 工具栏图标 如上图所示。
默认情况下,只要光标直接位于图示符上,悬停工具都会显示提示性工具提示。要显示的数据来自glyph的数据源,要显示的内容可以通过 tooltips 属性,该属性将显示名称映射到数据源中的列或特定的已知变量。
tooltips
下面是一个如何配置和使用悬停工具的示例:
# Add tooltip (name, field) pairs to the tool. See below for a # description of possible field values. hover.tooltips = [ ("index", "$index"), ("(x,y)", "($x, $y)"), ("radius", "@radius"), ("fill color", "$color[hex, swatch]:fill_color"), ("foo", "@foo"), ("bar", "@bar"), ("baz", "@baz{safe}"), ("total", "@total{$0,0.00}" ]
您也可以提供 Callback 到 HoverTool ,以在悬停时生成自定义交互。在这种情况下,您可能希望通过设置 tooltips=None .
tooltips=None
当提供回调或自定义模板时,此Bokeh模型的明确意图是嵌入 原始HTML和JavaScript代码 用于执行浏览器。如果代码的任何部分是从不受信任的用户输入派生的,那么在传递给Bokeh之前,必须谨慎地清理用户输入。
悬停工具当前无法使用以下图示符:
环形 弧 贝塞尔 image_url 椭圆形 补丁 二次 射线 步 文本
环形
弧
贝塞尔
image_url
椭圆形
补丁
二次
射线
步
文本
anchor
属性类型: Enum ( LegendLocation )
LegendLocation
如果点策略设置为 "snap_to_data" , anchor 定义工具提示的附着点。默认设置是附着到字形的中心。
attachment
属性类型: Enum ( TooltipAttachment )
TooltipAttachment
工具提示应显示在光标位置的左侧或右侧、上方或下方,还是应自动放置在水平或垂直尺寸标注中。
每当输入值更改时在浏览器中运行的回调。这个 cb_data 回调代码可用的参数将包含两个 HoverTool 特定字段:
cb_data
对象,其中包含数据源中悬停点的索引
包含悬停光标坐标的对象
formatters
属性类型: Dict ( String , Either ( Enum ( TooltipFieldFormatter ) Instance ( CustomJSHover ) ) )
TooltipFieldFormatter
指定数据源列的格式设置方案,例如。
tool.formatters = {"@date": "datetime"}
将导致“日期”列的格式规范根据“日期时间”格式方案进行解释。可采用以下方案:
为数字、货币、字节、时间和百分比提供多种格式。完整的格式集可以在 NumeralTickFormatter 参考文件。
NumeralTickFormatter
提供日期和时间值的格式。完整的格式集列在 DatetimeTickFormatter 参考文件。
DatetimeTickFormatter
提供类似于C样式“printf”类型说明符的格式。见 PrintfTickFormatter 有关完整细节的参考文档。
PrintfTickFormatter
如果没有为列名指定格式化程序,则默认 "numeral" 假定为格式化程序。
"numeral"
line_policy
属性类型: Enum (枚举(prev、next、nearest、interp、none))
当显示线的工具提示时,指定工具提示位置是线上的“上一个”点还是“下一个”点、距当前鼠标位置“最近”的点,还是沿直线到当前鼠标位置的“插值”。
属性类型: Enum (枚举(鼠标、hline、vline))
是将悬停指针视为一个点(x/y值),还是h或v方向的跨距。
muted_policy
属性类型: Enum (枚举(显示、忽略))
是否避免在静音图示符上显示工具提示。
point_policy
属性类型: Enum (枚举(捕捉数据,跟随鼠标,无)
工具提示位置是应捕捉到关联图示符的“中心”(或其他定位点)位置,还是始终跟随当前鼠标光标位置。
show_arrow
是否应显示工具提示的箭头。
属性类型: Either ( String , List ( Tuple ( String , String ) ) )
Tuple
(name,field)对描述鼠标悬停工具在命中时应该显示什么。
以“@”开头的字段名被解释为数据源上的列。@temp将从“临时数据”列中查找“临时数据”。
以“$”开头的字段名是特殊的已知字段:
数据源中悬停点的索引
价值观 name 悬停字形渲染器的属性
数据空间中光标下的x坐标
数据空间中光标下的y坐标
屏幕(画布)空间中光标下的x坐标
屏幕(画布)空间中光标下的y坐标
来自数据源的颜色数据,语法为: $color[options]:field_name . 可用的选项有:“hex”(以十六进制值显示颜色)和“swatch”也显示小色板。
$color[options]:field_name
以开头的字段名 @ 与中的列关联 ColumnDataSource . 例如字段名 "@price" 将显示 "price" 无论何时触发悬停。如果悬停是针对第17个字形,则悬停工具提示将相应地显示第17个价格值。
@
"@price"
"price"
注意,如果列名包含空格,则必须用大括号将其括起来,例如。 @{{adjusted close}} 将显示名为的列中的值 "adjusted close" .
@{{adjusted close}}
"adjusted close"
有时(尤其是对于堆积图),允许间接指定列的名称是可取的。字段名称 @$name 区别在于它会查找 name 字段,并将该值用作列名。例如,如果用户使用名称悬停 "US East" 然后 @$name 等于 @{{US East}} .
@$name
"US East"
@{{US East}}
默认情况下,字段的值(例如。 @foo )以基本数字格式显示。但是,可以更精确地控制值的格式。可以通过将指定的格式附加到大括号的末尾来修改字段。下面是一些例子。
@foo
"@foo{0,0.000}" # formats 10000.1234 as: 10,000.123 "@foo{(.00)}" # formats -10000.1234 as: (10000.123) "@foo{($ 0.00 a)}" # formats 1230974 as: $ 1.23 m
指定格式 {{safe}} 字段名之后,将重写工具提示数据源的自动转义。数据标记中的任何HTML标记都将在结果HoverTool输出中呈现为HTML。看到了吗 自定义工具提示 更详细的例子。
{{safe}}
None 也是工具提示的有效值。这将关闭工具提示的渲染。当通过回调属性在hover上提供其他操作时,这非常有用。
工具提示属性也可以配置为映射类型,例如。 dict 或 OrderedDict . 但是,如果 dict ,则未指定视觉呈现顺序。
OrderedDict
{ "anchor": "center", "attachment": "horizontal", "callback": null, "formatters": {}, "id": "8504", "js_event_callbacks": {}, "js_property_callbacks": {}, "line_policy": "nearest", "mode": "mouse", "muted_policy": "show", "name": null, "names": [], "point_policy": "snap_to_data", "renderers": "auto", "show_arrow": true, "subscribed_events": [], "tags": [], "toggleable": true, "tooltips": [ [ "index", "$index" ], [ "data (x, y)", "($x, $y)" ], [ "screen (x, y)", "($sx, $sy)" ] ] }
Inspection
执行“检查”的工具的基类,例如。 HoverTool .
{ "id": "8523", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [], "toggleable": true }
LassoSelectTool
套索选择工具允许用户通过在绘图区域上拖动鼠标或手指来指示自由绘制的“套索”区域来对绘图进行选择。拖动事件的结束表示选择区域已就绪。
选择可以由多个区域组成,甚至可以由不同的选择工具进行选择。在进行选择时,按住<<shift>>键,将新选择附加到可能存在的任何先前选择。
属性类型: Instance ( PolyAnnotation )
PolyAnnotation
选择计算是应该在每个鼠标事件上进行,还是在选择区域完成时只进行一次。
{ "id": "8530", "js_event_callbacks": {}, "js_property_callbacks": {}, "mode": "replace", "name": null, "names": [], "overlay": { "id": "8531" }, "renderers": "auto", "select_every_mousemove": true, "subscribed_events": [], "tags": [] }
LineEditTool
LineEditTool允许编辑一个或多个交点 Line 字形。要编辑的字形通过 renderers 属性和交叉点的渲染器是通过 intersection_renderer 属性(必须呈现点状Glyph(的子类 XYGlyph )
Line
intersection_renderer
XYGlyph
该工具将修改数据源上与 x 和 y 字形的值。添加新点时,数据源中的任何其他列都将用声明的“空值”填充。
显示交点:双击现有线
移动点:拖动现有点并松开鼠标按钮以释放它。
此编辑工具被约束在哪些维度中执行操作。默认情况下,“线编辑”工具允许在任何尺寸中移动点,但可以配置为仅允许在绘图宽度上水平移动,或在绘图高度上垂直移动。
属性类型: Instance ( GlyphRenderer )
GlyphRenderer
用于渲染选定线的交点的渲染器
{ "custom_icon": null, "custom_tooltip": null, "dimensions": "both", "empty_value": null, "id": "8542", "intersection_renderer": null, "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "renderers": [], "subscribed_events": [], "tags": [] }
PanTool
“平移”工具允许用户通过左键拖动鼠标来平移绘图,或在触摸设备上通过拖动手指或触笔在绘图区域内平移绘图。
“平移”工具还可以激活“单轴”平移绘图的边界区域。例如,在垂直边界或轴上拖动将只影响垂直方向上的平移,而水平尺寸保持不变。
“平移”工具被约束在哪些尺寸中起作用。默认情况下,“平移”工具将在任何维度上平移,但可以配置为仅在绘图宽度上水平平移,或在绘图高度上垂直平移。
{ "dimensions": "both", "id": "8554", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
PointDrawTool
PointDrawTool允许在一个或多个渲染器上添加、拖动和删除点状字形(即“XYGlyph”的子类),方法是编辑底层 ColumnDataSource 数据。与其他绘图工具一样,要编辑的渲染器必须以列表形式明确提供。任何新添加的点都将插入 ColumnDataSource 提供的第一个渲染器。
该工具将修改数据源上与 x 和 y 字形的值。数据源中的任何其他列都将使用给定的 empty_value 添加新点时。
数据源更新将在BokehJS端的整个编辑操作中连续触发数据更改事件。在Bokeh服务器应用程序中,当编辑操作完成时,数据源只同步一次。
添加点:点击绘图上的任意位置
移动点:点击并拖动一个现有的点,一旦你松开鼠标按钮,该点就会被放下。
删除点:轻触一个点以选择它,然后在鼠标位于绘图区域内时按<<backspace>>键。
add
启用在抽头事件中添加新点。
drag
允许拖动平移事件上的现有点。
定义可绘制点数的限制。默认情况下,对对象的数量没有限制,但如果启用,将删除最旧的绘制点,以便为新点腾出空间。
{ "add": true, "custom_icon": null, "custom_tooltip": null, "drag": true, "empty_value": null, "id": "8561", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "num_objects": 0, "renderers": [], "subscribed_events": [], "tags": [] }
PolyDrawTool
PolyDrawTool允许绘制、选择和删除 Patches 和 MultiLine 在一个或多个渲染器上通过编辑底层 ColumnDataSource 数据。与其他绘图工具一样,必须显式提供要编辑的渲染器。
如果A vertex_renderer 如果提供类似点的字形,则 PolyDrawTool 将使用它在所有提供的渲染器上显示多条线或面片的顶点。这还允许在绘制时捕捉到现有顶点。
vertex_renderer
添加面片或多线:双击以添加第一个顶点,然后使用tap添加每个后续顶点,以完成绘制操作双击以插入最终顶点或按<<esc>键。
移动补丁或多行:点击并拖动一个已有的补丁/多行,一旦松开鼠标按钮,该点将被删除。
删除面片或多行:轻触一个面片/多行以将其选中,然后在鼠标位于绘图区域内时按<<backspace>>键。
允许在平移事件上拖动现有面片和多行线。
定义可绘制的面片或多条线的数量限制。默认情况下,对对象的数量没有限制,但如果启用,将删除最旧的绘制面片或多行线,以便为新面片或多行线腾出空间。
用于渲染选定直线或多边形顶点的渲染器。
{ "custom_icon": null, "custom_tooltip": null, "drag": true, "empty_value": null, "id": "8574", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "num_objects": 0, "renderers": [], "subscribed_events": [], "tags": [], "vertex_renderer": null }
PolyEditTool
poliedittool允许编辑一个或多个顶点 Patches 或 MultiLine 字形。要编辑的字形通过 renderers 属性和顶点的渲染器通过 vertex_renderer 属性(必须呈现点状Glyph(的子类 XYGlyph )
该工具将修改数据源上与 xs 和 ys 字形的值。添加新点时,数据源中的任何其他列都将用声明的“空值”填充。
显示顶点:双击现有面片或多线
添加顶点:双击一个现有顶点将其选中,工具将绘制下一个点,将其添加到新位置。要完成编辑并添加点,请双击,否则按<<esc>键取消。
移动顶点:拖动现有顶点并松开鼠标按钮以释放它。
删除顶点:选择一个或多个顶点后,当鼠标光标在绘图区域内时,按<<backspace>>。
{ "custom_icon": null, "custom_tooltip": null, "empty_value": null, "id": "8587", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "renderers": [], "subscribed_events": [], "tags": [], "vertex_renderer": null }
PolySelectTool
基类:bokeh.models.tools.Tap, bokeh.models.tools.SelectTool
多边形选择工具允许用户通过单击鼠标来指示多边形区域,从而在绘图上进行选择。或连续点击(或双击)多边形定义以添加选定区域。
{ "id": "8598", "js_event_callbacks": {}, "js_property_callbacks": {}, "mode": "replace", "name": null, "names": [], "overlay": { "id": "8599" }, "renderers": "auto", "subscribed_events": [], "tags": [] }
ProxyToolbar
基类:bokeh.models.tools.ToolbarBase
bokeh.models.tools.ToolbarBase
允许在多个绘图中合并和代理工具栏工具的工具栏。
autohide
默认情况下是否隐藏工具栏。默认值:False。如果为True,则当光标不在画布中时隐藏工具栏。
logo
属性类型: Enum (枚举(正常、灰色))
要在工具栏上显示的Bokeh徽标的版本。如果设置为“无”,则不显示徽标。
toolbars
属性类型: List ( Instance ( Toolbar ) )
Toolbar
tools
属性类型: List ( Instance ( Tool ) )
Tool
要添加到绘图中的工具列表。
{ "autohide": false, "id": "8609", "js_event_callbacks": {}, "js_property_callbacks": {}, "logo": "normal", "name": null, "subscribed_events": [], "tags": [], "toolbars": [], "tools": [] }
RangeTool
“范围”工具允许用户通过拖动相应的着色批注来移动或更改其边界,来更新x或y维度中的一个或两个维度的范围对象。
一个常见的用例是将此工具添加到具有较大固定范围的绘图中,但从不同的绘图配置工具范围。当用户操纵覆盖时,第二次绘图的范围将自动更新。
绘制的阴影注释,用于指示配置的范围。
x_interaction
当 x_range 是存在的。
x_range
默认情况下,当 x_range 如果指定,则可以通过在框内水平平移或沿框的顶部或底部边缘平移来调整范围框的水平位置。要禁用此功能,并将范围框水平固定到位,请将其设置为False。(如果 x_range 以编程方式更新。)
属性类型: Instance ( Range1d )
Range1d
与覆盖的x维同步的范围。如果没有,覆盖将跨越整个x维。
y_interaction
当 y_range 是存在的。
y_range
默认情况下,当 y_range 如果指定,则可以通过在框内垂直平移或沿框的上边缘或下边缘平移来调整范围框的垂直位置。若要禁用此选项,并将范围框垂直固定到位,请将其设置为False。(如果 y_range 以编程方式更新。)
与覆盖的y维同步的范围。如果没有,覆盖将跨越整个y维。
{ "id": "8619", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "overlay": { "id": "8620" }, "subscribed_events": [], "tags": [], "x_interaction": true, "x_range": null, "y_interaction": true, "y_range": null }
RedoTool
重做工具反转撤消工具执行的上一个操作。
{ "id": "8631", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
ResetTool
重置工具是一个操作。在工具栏中激活时,该工具会将绘图的数据边界重置为最初创建绘图时的值。
{ "id": "8637", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
SaveTool
保存工具是一个操作。激活后,该工具将打开一个下载对话框,允许以PNG格式保存打印的图像复制。如果web浏览器不支持自动下载,则该工具将返回到在新选项卡或窗口中打开生成的图像。然后用户可以通过右键单击图像并选择“另存为”(或类似)菜单项手动保存。
{ "id": "8643", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
Scroll
响应滚动事件的工具的基类。
{ "id": "8649", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
Tap
响应点击/单击事件的工具的基类。
{ "id": "8655", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
TapTool
轻触选择工具允许用户通过左键单击鼠标或用手指轻敲在单点进行选择。
behavior
属性类型: Enum (枚举(选择、检查))
此工具可以配置为对相关数据源进行选择或检查。不同之处在于,选择更改会在bokeh传播,并且会通知其他组件(例如选择图示符)。检查的作用不是这样,因此配置它很有用 callback 设置时 behavior='inspect' .
要执行的回调 每当一个字形被“击中” 通过鼠标点击或点击。
这对于 OpenURL 基于用户单击或点击特定字形打开URL的模型。
OpenURL
但是,它也可能是 CustomJS 它可以执行任意JavaScript代码以响应单击或点击glyphs。将对单击或点击单击的每个字形执行回调,并将接收 TapTool 型号as cb_obj . 可选的 cb_data 将数据源作为 .source 属性和选择几何体作为其 .geometries 属性。
cb_obj
.source
.geometries
这个 .geometries 属性有5个成员。 .type 是几何体类型,它始终是 .point 对于一个点击事件。 .sx 和 .sy 是点击发生的屏幕X和Y坐标。 .x 和 .y 是已选定项的已转换数据坐标。这个 .x 和 .y 值基于指定给该字形的轴。
.type
.point
.sx
.sy
.x
.y
这个回调可以 not 每次点击时执行,只有当字形为“命中”时。如果要在每次鼠标点击时执行回调,请参阅 用于用户交互事件的CustomJS .
{ "behavior": "select", "callback": null, "id": "8661", "js_event_callbacks": {}, "js_property_callbacks": {}, "mode": "replace", "name": null, "names": [], "renderers": "auto", "subscribed_events": [], "tags": [] }
所有交互工具类型的基类。
{ "id": "8672", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
为单个绘图收集要显示的工具。
active_drag
属性类型: Either ( Auto , Instance ( Drag ) )
指定要在显示打印时激活的拖动工具。
active_inspect
属性类型: Either ( Auto , Instance ( Inspection ) Seq ( Instance ( Inspection ) ) )
Seq
指定显示绘图时要激活的检验工具或检验工具序列。
active_multi
属性类型: Instance ( Gesture )
指定活动的多手势工具,例如编辑工具或范围工具。
请注意,激活多手势工具将根据需要停用任何其他手势工具。例如,如果将“平移”工具设置为活动拖动,并且此特性设置为 BoxEditTool 例如,平移工具将被停用(即多手势工具将优先)。
active_scroll
属性类型: Either ( Auto , Instance ( Scroll ) )
指定在显示绘图时激活的滚动/收缩工具。
active_tap
属性类型: Either ( Auto , Instance ( Tap ) )
指定要在显示绘图时激活的点击/单击工具。
{ "active_drag": "auto", "active_inspect": "auto", "active_multi": null, "active_scroll": "auto", "active_tap": "auto", "autohide": false, "id": "8678", "js_event_callbacks": {}, "js_property_callbacks": {}, "logo": "normal", "name": null, "subscribed_events": [], "tags": [], "tools": [] }
ToolbarBase
不同工具栏的基类。
{ "autohide": false, "id": "8692", "js_event_callbacks": {}, "js_property_callbacks": {}, "logo": "normal", "name": null, "subscribed_events": [], "tags": [], "tools": [] }
ToolbarBox
基类:bokeh.models.layouts.LayoutDOM
bokeh.models.layouts.LayoutDOM
一个可布局的工具栏,可以接受多个绘图的工具,并可以将这些工具合并到一个按钮中以方便使用。
align
属性类型: Either ( Enum ( Align ) Tuple ( Enum ( Align ) Enum ( Align ) ) )
Align
父容器中的对齐点。
如果布局是这个元素的一个子元素,那么这个布局是有用的。自对齐可以被父容器覆盖(例如网格跟踪对齐)。
aspect_ratio
属性类型: Either ( Enum (枚举(自动)), Float )
描述组件的宽度和高度之间的比例关系。
如果任何一个组件的尺寸在尺寸上是灵活的,这就可以了。如果设置为数字, width / height = aspect_ratio 关系将得到维持。否则,如果设置为 "auto" ,组件的首选宽度和高度将用于确定纵横比(如果未设置,则不保留纵横比)。
width / height = aspect_ratio
"auto"
background
组件的背景色。
css_classes
要添加到此DOM元素的CSS类名的列表。注意:类名只是按原样添加,不提供其他保证。
也允许从元组赋值,但是这些元组是经过调整的——属性将始终包含一个列表。
disabled
小部件在呈现时是否被禁用。
如果 True ,小部件将变灰,并且不会响应UI事件。
True
属性类型: NonNegativeInt
NonNegativeInt
高度(像素)。
这可以是固定高度,也可以是首选高度,具体取决于高度大小调整策略。
height_policy
属性类型: Either ( Auto , Enum ( SizingPolicy ) )
SizingPolicy
描述组件应如何保持其高度。
使用组件的首选大小策略。
"fixed"
准确使用 height 像素。如果组件不能容纳在可用的垂直空间中,它将溢出。
"fit"
使用组件的首选高度(如果设置)并允许在最小和最大高度边界(如果设置)内适合可用的垂直空间。组件的高度既不会被激进地最小化也不会被最大化。
"min"
使用尽可能少的垂直空间,不小于最小高度(如果设置)。起点是首选高度(如果设置)。组件的高度可能会收缩或增长,这取决于父布局、方面管理和其他因素。
"max"
使用尽可能多的垂直空间,不超过最大高度(如果设置)。起点是首选高度(如果设置)。组件的高度可能会收缩或增长,这取决于父布局、方面管理和其他因素。
这是一个实验特性,将来可能会改变。你可以随意使用。喜欢使用 sizing_mode 如果这种程度的控制不是绝对必要的。
sizing_mode
margin
属性类型: Tuple ( Int , Int , Int , Int )
允许在组件周围创建额外的空间。元组中的值按如下顺序排列-上边距、右边距、下边距和左边距,类似于CSS标准。负边距值可用于从任何方向收缩空间。
max_height
如果高度可调,组件的最大高度(以像素为单位)。
max_width
如果宽度可调,组件的最大宽度(以像素为单位)。
min_height
如果高度可调,组件的最小高度(以像素为单位)。
min_width
如果宽度可调,组件的最小宽度(以像素为单位)。
属性类型: 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"
组件将相应地调整到可用的宽度和高度,同时保持原始或提供的纵横比。
toolbar
属性类型: Instance ( ToolbarBase )
与绘图相关联的一种工具栏,其中包含所有工具。
visible
组件是否可见以及是否是布局的一部分。
组件的宽度(以像素为单位)。
这可以是固定宽度,也可以是首选宽度,具体取决于宽度大小调整策略。
描述组件应如何保持其宽度。
准确使用 width 像素。如果组件不能容纳在可用的水平空间中,它将溢出。
使用组件的首选宽度(如果设置),并允许它在最小和最大宽度范围内(如果设置)适合可用的水平空间。组件的宽度既不会被积极地最小化也不会被最大化。
尽可能少地使用水平空间,不小于最小宽度(如果设置)。起点是首选宽度(如果设置)。组件的宽度可能会根据父布局、方面管理和其他因素而缩小或增大。
使用尽可能多的水平空间,不超过最大宽度(如果设置)。起点是首选宽度(如果设置)。组件的宽度可能会收缩或增长,这取决于父布局、方面管理和其他因素。
{ "align": "start", "aspect_ratio": null, "background": null, "css_classes": [], "disabled": false, "height": null, "height_policy": "auto", "id": "8701", "js_event_callbacks": {}, "js_property_callbacks": {}, "margin": [ 0, 0, 0, 0 ], "max_height": null, "max_width": null, "min_height": null, "min_width": null, "name": null, "sizing_mode": null, "subscribed_events": [], "tags": [], "toolbar": null, "toolbar_location": "right", "visible": true, "width": null, "width_policy": "auto" }
UndoTool
撤消工具允许恢复绘图的先前状态。
{ "id": "8724", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
WheelPanTool
基类:bokeh.models.tools.Scroll
bokeh.models.tools.Scroll
滚轮平移工具允许用户使用滚轮沿配置的尺寸平移绘图。
属性类型: Enum ( Dimension )
Dimension
“wheel pan”工具被约束在哪个尺寸中起作用。默认情况下,滚轮平移工具将沿x轴平移绘图。
{ "dimension": "width", "id": "8730", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
WheelZoomTool
滚轮缩放工具将以当前鼠标位置为中心放大和缩小绘图。
“控制盘缩放”工具还可以激活“单轴”缩放打印的边界区域。例如,缩放垂直边界或轴将只影响垂直方向的缩放,而水平尺寸保持不变。
“控制盘缩放”工具被约束在其中执行操作的尺寸。默认情况下,“控制盘缩放”工具将放大任何尺寸,但可以配置为仅水平缩放打印宽度,或垂直缩放打印高度。
maintain_focus
缩放工具是否保持其焦点位置。设置为False会导致更“滑动”的行为,从而可以更平滑地缩小,代价是失去焦点位置。
speed
车轮缩放的速度。默认值为1/600。最佳范围在0.001到0.09之间。高值将被剪裁。浏览器之间的速度可能非常快。
zoom_on_axis
是否在轴上滚动(中央打印区域之外)应缩放该维度。
{ "dimensions": "both", "id": "8737", "js_event_callbacks": {}, "js_property_callbacks": {}, "maintain_focus": true, "name": null, "speed": 0.0016666666666666668, "subscribed_events": [], "tags": [], "zoom_on_axis": true }
ZoomInTool
“放大”工具允许用户单击按钮以固定数量放大。
放大工具的尺寸将被约束为动作。默认情况下,“放大缩放”工具将放大任何尺寸,但可以配置为仅在打印宽度上水平缩放,或垂直于打印高度。
factor
属性类型: Percent
Percent
每次单击“放大”工具时要缩放的百分比。
{ "dimensions": "both", "factor": 0.1, "id": "8747", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
ZoomOutTool
“缩小”工具允许用户单击按钮以固定数量缩小。
“缩小”工具被约束为作用于的尺寸。默认情况下,“缩小”工具将放大任何尺寸,但可以配置为仅水平缩放打印宽度,或垂直缩放整个打印高度。
{ "dimensions": "both", "factor": 0.1, "id": "8755", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }