altair.DatumDef#
- class altair.DatumDef(bandPosition=Undefined, datum=Undefined, title=Undefined, type=Undefined, **kwds)#
DatumDef 模式包装器。
- 参数:
- bandPositionfloat
在堆叠、分箱、时间单位或频带比例的频带上的相对位置。例如,如果设置为
0
,标记将位于频带的起始位置;如果设置为0.5
,标记将位于频带的中间位置。- datumstr, bool, dict, float,
ExprRef
,DateTime
,RepeatRef
,PrimitiveValue
, None 数据域中的一个常量值。
- titlestr,
Text
, Sequence[str], None 字段的标题。如果为
null
,则标题将被移除。默认值: 根据字段名称和转换函数(
aggregate
、bin
和timeUnit
)派生。如果字段具有聚合函数,函数将显示为标题的一部分(例如,"Sum of Profit"
)。如果字段经过分箱或应用了时间单位,则应用的函数会显示在括号中(例如,"Profit (binned)"
,"Transaction Date (year-month)"
)。否则,标题就是简单的字段名称。注意:
1) 您可以通过在 config 中提供 fieldTitle 属性或通过编译函数的选项提供 fieldTitle 函数来自定义默认字段标题格式。
2) 如果字段定义中的
title
和轴、标题或图例中的title
都已定义,将使用轴/标题/图例中的标题。- type
Type
, Literal[‘quantitative’, ‘ordinal’, ‘temporal’, ‘nominal’, ‘geojson’] 编码字段或常量值(
datum
)的度量类型("quantitative"
、"temporal"
、"ordinal"
或"nominal"
)。对于编码 ‘geoshape’,它也可以是"geojson"
类型。在许多情况下,Vega-Lite 会自动推断数据类型,如下所述。但是,字段需要指定 type,如果:(1) 字段不是名义型的,并且字段编码没有指定
aggregate
(argmin
和argmax
除外)、bin
、比例类型、自定义sort
顺序或timeUnit
;或 (2) 如果您希望对使用bin
或timeUnit
的字段使用有序比例。默认值
1) 对于数据
field
,除非字段编码具有满足以下条件的aggregate
、channel
、bin
、比例类型、sort
或timeUnit
,否则默认数据类型为"nominal"
如果满足以下条件之一,则默认类型为
"quantitative"
:(1) 编码字段包含bin
或aggregate
("argmin"
和"argmax"
除外);(2) 编码通道为latitude
或longitude
通道;或 (3) 如果指定的比例类型是定量比例。如果满足以下条件之一,则默认类型为
"temporal"
:(1) 编码字段包含timeUnit
;或 (2) 指定的比例类型是 time 或 utc 比例如果满足以下条件之一,则默认类型为
"ordinal"
:(1) 编码字段包含自定义排序顺序;(2) 指定的比例类型是有序/点/频带比例;或 (3) 编码通道为order
。
对于数据域中的常量值(
datum
)
如果 datum 是一个数字,则为
"quantitative"
如果 datum 是一个字符串,则为
"nominal"
如果 datum 是日期时间对象,则为
"temporal"
注意
数据
type
描述的是数据的语义,而不是基本数据类型(数字、字符串等)。相同的基础数据类型可以具有不同的度量类型。例如,数值数据可以表示定量、有序或名义数据。时间字段的数据值可以是日期时间字符串(例如,
"2015-03-07 12:32:17"
、"17:01"
、"2015-03-16"
、"2015"
),也可以是时间戳数字(例如,1552199579097
)。与 bin 一起使用时,
type
属性可以是"quantitative"
(用于线性分箱比例)或 “ordinal”(用于有序分箱比例)。与 timeUnit 一起使用时,
type
属性可以是"temporal"
(默认,用于时间比例)或 “ordinal”(用于有序比例)。与 aggregate 一起使用时,
type
属性指的是聚合后的数据类型。例如,我们可以使用{"aggregate": "distinct", "field": "cat"}
计算分类字段"cat"
的去重计数。聚合输出的"type"
是"quantitative"
。辅助通道(例如,
x2
、y2
、xError
、yError
)没有type
,因为它们的类型必须与其主通道(例如,x
、y
)完全相同。
另请参阅: type 文档。
- __init__(bandPosition=Undefined, datum=Undefined, title=Undefined, type=Undefined, **kwds)#
方法
__init__
([bandPosition, datum, title, type])copy
([deep, ignore])返回对象的副本。
from_dict
(dct[, validate])从字典表示构造类。
from_json
(json_string[, validate])从有效的 JSON 字符串实例化对象。
resolve_references
([schema])在此对象的模式或根模式上下文中解析引用。
to_dict
([validate, ignore, context])返回对象的字典表示。
to_json
([validate, indent, sort_keys, ...])将此对象的 JSON 表示作为字符串输出。
validate
(instance[, schema])在根模式上下文中根据类模式验证实例。
validate_property
(name, value[, schema])在根模式上下文中根据属性模式验证属性。