控制Bokeh绘图轴上刻度标签的文本和视觉格式的模型。
BasicTickFormatter
基类:bokeh.models.formatters.TickFormatter
bokeh.models.formatters.TickFormatter
默认情况下,将连续范围内的刻度值显示为“基本数字”,并使用科学符号。
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也不以任何理由直接使用该名称。
power_limit_high
属性类型: Int
Int
将科学记数法的使用限制在:
log(x) >= power_limit_high
power_limit_low
log(x) <= power_limit_low
precision
属性类型: Either ( Auto , Int )
Either
Auto
在刻度标签中显示的精度位数。
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也不以任何理由直接使用这些标签。
use_scientific
属性类型: Bool
Bool
是否显示科学记数法。如果 True ,那么何时使用科学记数法是由 power_limit_low 和 power_limit_high .
True
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
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": "2344", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "power_limit_high": 5, "power_limit_low": -3, "precision": "auto", "subscribed_events": [], "tags": [], "use_scientific": true }
CategoricalTickFormatter
将类别范围中的刻度值显示为字符串值。
{ "id": "2354", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
DatetimeTickFormatter
A TickFormatter 用于在一个范围内很好地显示日期时间值。
TickFormatter
DatetimeTickFormatter 具有以下属性(与其默认值一起列出),可用于控制不同比例比例的轴刻度的格式:
microseconds = ['%fus'] milliseconds = ['%3Nms', '%S.%3Ns'] seconds = ['%Ss'] minsec = [':%M:%S'] minutes = [':%M', '%Mm'] hourmin = ['%H:%M'] hours = ['%Hh', '%H:%M'] days = ['%m/%d', '%a%d'] months = ['%m/%Y', '%b %Y'] years = ['%Y']
每个刻度属性都可以设置为格式或格式列表,用于格式化属于该“时间刻度”的日期时间刻度值。默认情况下,只使用为每个时间刻度传递的第一个格式字符串。默认情况下,格式化标签中的所有前导零都将被剥离。
支持的列表 strftime 格式如下所示。
根据当前区域设置的星期几的缩写名称。
根据当前区域设置的星期几的全名。
根据当前区域设置的缩写月份名称。
根据当前区域设置的完整月份名称。
当前区域设置的首选日期和时间表示形式。
世纪数(年/100)为2位整数。
以十进制数表示的月份的日期(范围01到31)。
相当于%m/%d/%y。(美国人应该注意,在许多其他国家%d/%m/%y是相当常见的。这意味着在国际环境中,这种格式模糊不清,不应使用。)
像%d一样,月份的日期是十进制数,但是前导的零会被空格替换。
微秒作为十进制数,在左边填充零(范围000000-999999)。这是对可用于的一组指令的扩展 timezone .
相当于%Y-%m-%d(ISO 8601日期格式)。
以星期为基础的ISO8601年,以世纪为十进制数。与ISO周数相对应的4位数年份(请参见%V)。它的格式和值与%Y相同,只是如果ISO周数属于上一年或下一年,则使用该年。
像%G,但是没有世纪,也就是说,有2位数的年份(00-99)。
相当于%b。
使用24小时制时钟(范围从00到23)的十进制小时数。
使用12小时时钟(范围01到12)将小时作为十进制数。
以十进制数表示的一年中的某一天(范围001到366)。
小时(24小时制)十进制数(范围0到23)。个位数前面有一个空格。(另请参见%H。)
小时(12小时时钟)作为十进制数(范围1到12)。个位数前面有一个空格。(另请参阅%I.)(TZ)
以十进制数表示的月份(范围01到12)。
以十进制数表示的分钟(范围从00到59)。
换行符。Bokeh文本当前不支持换行符。
纳秒作为十进制数,在左边填充零(范围000000000-99999999)。支持填充宽度说明符,即%3N显示3个最左边的数字。但是,由于 timezone .
根据给定的时间值“AM”或“PM”,或当前区域设置的相应字符串。中午被视为“下午”,午夜被视为“上午”。
与%p类似,但小写:“am”或“pm”或当前区域设置的相应字符串。
以上午或下午表示的时间。在POSIX区域设置中,这相当于%I:%M:%S%p。
以24小时表示的时间(%H:%M)。有关包含秒数的版本,请参阅下面的%T。
自纪元以来的秒数,1970-01-01 00:00:00+0000(UTC)。
第二个是十进制数(范围从00到60)。(该范围最大为60,以允许偶尔的闰秒。)
制表符。Bokeh文本当前不支持制表符。
以24小时表示的时间(%H:%M:%S)。
以十进制形式表示的星期几,范围为1到7,星期一为1。另请参见%w。
当前年度的周数(十进制数),范围从00到53,从第一个星期日开始作为第01周的第一天。另请参见%V和%W。
当前年份的ISO 8601周数(见注释)为十进制数,范围为01到53,其中第1周是新年中至少有4天的第一周。另请参见%U和%W。
以十进制形式表示的星期几,范围为0到6,星期日为0。另请参见%u。
当前年度的周数(十进制数),范围从00到53,从第一个星期一开始是第01周的第一天。
不带时间的当前区域设置的首选日期表示形式。
不带日期的当前区域设置的首选时间表示形式。
以十进制数字表示的年份,没有世纪(范围从00到99)。
年包括十进制数。
+hhmm或-hhmm数字时区(即UTC的小时和分钟偏移量)。
时区名称或缩写。
文本“%”字符。
警告
客户端库BokehJS使用 timezone 设置日期时间格式的库。列入以下清单的依据是 timezone 使其支持“GNU日期格式说明符的完整补充”。然而,这个声明并没有针对这个列表进行详尽的测试。如果您发现格式不符合预期,请提交 github issue ,以便适当更新文档。
days
中显示日期时间值的格式 days 范围。
见 DatetimeTickFormatter 有关所有支持格式的列表的帮助。
hourmin
中显示日期时间值的格式 hourmin (小时和分钟的组合)范围。
hours
中显示日期时间值的格式 hours 范围。
microseconds
中显示日期时间值的格式 microseconds 范围。
milliseconds
中显示日期时间值的格式 milliseconds 范围。
minsec
中显示日期时间值的格式 minsec (分钟和秒的组合)范围。
minutes
中显示日期时间值的格式 minutes 范围。
months
中显示日期时间值的格式 months 范围。
seconds
中显示日期时间值的格式 seconds 范围。
years
中显示日期时间值的格式 years 范围。
{ "days": [ "%m/%d", "%a%d" ], "hourmin": [ "%H:%M" ], "hours": [ "%Hh", "%H:%M" ], "id": "2360", "js_event_callbacks": {}, "js_property_callbacks": {}, "microseconds": [ "%fus" ], "milliseconds": [ "%3Nms", "%S.%3Ns" ], "minsec": [ ":%M:%S" ], "minutes": [ ":%M", "%Mm" ], "months": [ "%m/%Y", "%b %Y" ], "name": null, "seconds": [ "%Ss" ], "subscribed_events": [], "tags": [], "years": [ "%Y" ] }
FuncTickFormatter
显示由用户定义函数格式化的刻度值。
这个Bokeh模型的明确目的是嵌入 原始JavaScript代码 用于执行浏览器。如果代码的任何部分是从不受信任的用户输入派生的,那么在传递给Bokeh之前,必须谨慎地清理用户输入。
args
属性类型: Dict ( String , AnyRef )
AnyRef
名称到Python对象的映射。尤其是那些可以是博克的模型。格式化程序的代码段可以使用这些对象作为回调的命名参数的值。
code
一段JavaScript代码,将单个记号重新格式化为所需格式。变数 tick 将包含未格式化的tick值,并且可能在呈现时出现在代码段命名空间中。
tick
其他可用变量包括:
ticks ,由滴答器定位的所有轴刻度组成的数组, index ,位置 tick 在内部 ticks 和 的钥匙 args 地图,如果有的话。
ticks ,由滴答器定位的所有轴刻度组成的数组,
ticks
index ,位置 tick 在内部 ticks 和
index
的钥匙 args 地图,如果有的话。
Finding yourself needing to cache an expensive ticks-dependent computation, you can store it on the this variable.
this
code = ''' this.precision = this.precision || (ticks.length > 5 ? 1 : 2); return Math.floor(tick) + " + " + (tick % 1).toFixed(this.precision); '''
{ "args": {}, "code": "", "id": "2376", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
LogTickFormatter
将连续范围内的刻度值显示为某个基数的幂。
通常与 LogTicker .
LogTicker
ticker
属性类型: Instance ( Ticker )
Ticker
相应的 LogTicker ,用于确定要使用的正确底座。如果未设置,格式化程序将使用以10为基数的默认值。
{ "id": "2384", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [], "ticker": null }
MercatorTickFormatter
基类:bokeh.models.formatters.BasicTickFormatter
bokeh.models.formatters.BasicTickFormatter
A TickFormatter 对于以WebMercator单位表示的值。
一些地图绘图类型内部使用WebMercator来描述坐标、绘图边界等。这些单位不是很人性化。这个记号格式化程序将把WebMercator单位转换成经度和纬度,以便在轴上显示。
dimension
属性类型: Enum ( LatLon )
Enum
LatLon
指定是为纬度还是经度设置刻度格式。
投影坐标是不可分离的,从Web Mercator计算经纬度标签需要同时考虑两个维度的坐标。使用此属性可指定应使用哪个结果进行显示。
通常,如果格式化程序是针对x轴的,那么维度应该是 "lon" 如果格式化程序是针对y轴的,那么尺寸应该是 "lat" '.
"lon"
为了防止难以调试的错误,维度没有默认值。使用未配置的 MercatorTickFormatter 将导致验证错误和JavaScript控制台错误。
{ "dimension": null, "id": "2391", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "power_limit_high": 5, "power_limit_low": -3, "precision": "auto", "subscribed_events": [], "tags": [], "use_scientific": true }
NumeralTickFormatter
基于人类可读格式的Tick字符串格式。
format
下表中定义的数字格式:
NUMBERS :
数
格式
弦
10000
'0,0.0000'
10,000.0000
10000.23
“0,0”
一万
'+0,0'
+10000个
-10000
'0,0.0'
-10000.0万
10000.1234
'0.000'
10000.123
'0[.]00000'
10000.12340
'(0,0.0000)'
(10000.0000)
-0.23
'.00'
-.23
'(.00)'
(二十三)
0.23
'0.00000'
0.23000
'0.0[0000]'
1230974
'0.0a'
1.2m
1460
“0 a”
1千
-104000
“0a”
-10万4千
1
'0o'
第一
52
第五十二
23
第二十三
100
第一百
CURRENCY :
1000.234
'$0,0.00'
$1,000.23
1000.2
“0,0” [.] 00美元
1000.20美元$
1001
'0,0美元 [.] 00’
1001美元
-1000.234
'($0,0)'
(1000美元)
'$0.00'
-1000.23美元
'($0.00 a)'
123万美元
BYTES :
'0b'
100亿
2048
'0 b'
2千字节
7884486213
'0.0b'
7.3GB
3467479682787
“0.000亿”
3.154 TB
PERCENTAGES :
“0%”
100%
0.974878234
'0.000%'
97.488%
-0.43
-43%
0.43
'(0.000%)'
43%
TIME :
25
'00:00:00'
0:00:25
238
0:03:58分
63846
17: 44:06分
有关完整规范,请参见http://numbrojs.com/format.html
language
属性类型: Enum ( NumeralLanguage )
NumeralLanguage
用于格式化特定语言功能的语言(例如千位分隔符)。
rounding
属性类型: Enum ( RoundingFunction )
RoundingFunction
舍入函数(round、floor、ceil)及其同义词(nearest、rounddown、roundup)。
{ "format": "0,0", "id": "2402", "js_event_callbacks": {}, "js_property_callbacks": {}, "language": "en", "name": null, "rounding": "round", "subscribed_events": [], "tags": [] }
PrintfTickFormatter
基于printf样式格式字符串的记号格式化程序。
数字格式,定义如下:格式字符串中的占位符用%标记,后跟一个或多个元素,顺序如下:
+
使结果在数值前面加上或减号。默认情况下,只有 - 符号用于负数。
-
指定用于填充的字符(如果有)。可能的值是0或前面有 ' (单引号)。默认设置是使用空格填充。
'
使sprintf左对齐此占位符的结果。默认设置是右对齐结果。
指定结果应包含的字符数。如果要返回的值小于此数字,将填充结果。
由一个 . (点)后跟数字,指定浮点数应显示的位数。在字符串上使用时,它会导致结果被截断。
.
可以是:
% ---产生一个文本 % 性格
%
b ---生成一个整数作为二进制数
b
c ---生成一个整数作为ASCII值的字符
c
d 或 i ---生成一个整数作为带符号的十进制数
d
i
e ---使用科学记数法生成浮点数
e
u ---生成一个整数作为无符号十进制数
u
f ---按原样产生浮点数
f
o ---生成一个整数作为八进制数
o
s ---按原样生成字符串
s
x ---生成十六进制数形式的整数(小写)
x
X ---生成十六进制数形式的整数(大写)
X
{ "format": "%s", "id": "2411", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }
基类:bokeh.model.Model
bokeh.model.Model
所有类的基类型打勾。
这是一个抽象基类,用于帮助组织Bokeh模型类型的层次结构。 单独实例化是没有用的。
{ "id": "2418", "js_event_callbacks": {}, "js_property_callbacks": {}, "name": null, "subscribed_events": [], "tags": [] }