altair.XDatum#
- class altair.XDatum(datum, axis=Undefined, bandPosition=Undefined, impute=Undefined, scale=Undefined, stack=Undefined, title=Undefined, type=Undefined, **kwds)#
XDatum schema 包装器。
- 参数:
- axisdict,
Axis
, None 一个对象,定义轴的网格线、刻度和标签的属性。如果为
null
,则将移除编码通道的轴。默认值: 如果未定义,将应用默认的轴属性。
另请参阅: axis 文档。
- bandPositionfloat
在堆叠、分箱、时间单位或带状比例尺的带状上的相对位置。例如,如果设置为
0
,标记将位于带状的起始处;如果设置为0.5
,则位于带状的中间。- datumstr, bool, dict, float,
ExprRef
,DateTime
,RepeatRef
,PrimitiveValue
, None 数据域中的一个常量值。
- imputedict,
ImputeParams
, None 一个对象,定义要应用的填充(Impute)操作的属性。其他位置通道的字段值被用作
Impute
操作的key
。如果指定了color
通道的字段,则将其用作Impute
操作的groupby
。另请参阅: 填充 文档。
- scaledict,
Scale
, None 一个对象,定义通道比例尺的属性。比例尺是将数据域中的值(数字、日期、字符串等)转换为编码通道的视觉值(像素、颜色、大小)的函数。
如果为
null
,比例尺将被禁用,数据值将直接编码。默认值: 如果未定义,将应用默认的比例尺属性。
另请参阅: 比例尺 文档。
- stackbool,
StackOffset
, Literal[‘zero’, ‘center’, ‘normalize’], None 如果字段需要堆叠,则指定堆叠偏移类型。
stack
仅适用于具有连续域的x
、y
、theta
和radius
通道。例如,y
的stack
可用于自定义垂直条形图的堆叠。stack
可以是以下值之一"normalize"
- 使用归一化域进行堆叠(用于创建归一化堆叠条形图和面积图以及带百分比提示的饼图)。"center"
- 以中心线为基线的堆叠(用于流图)。null
或false
- 不堆叠。这将产生分层的条形图和面积图。
默认值: 对于满足以下所有条件的图表,默认值为
zero
:(1) mark 为bar
、area
或arc
;(2) 堆叠的度量通道(x或y)具有线性比例尺;(3) 至少有一个非位置通道映射到未聚合的字段,且该字段与x和y不同。否则,默认值为null
。另请参阅: stack 文档。
- titlestr,
Text
, Sequence[str], None 字段的标题。如果为
null
,则移除标题。默认值: 派生自字段名称和转换函数(
aggregate
、bin
和timeUnit
)。如果字段有聚合函数,函数将作为标题的一部分显示(例如,"Sum of Profit"
)。如果字段被分箱或应用了时间单位,则应用的函数会显示在括号中(例如,"Profit (binned)"
,即“利润(分箱)”;"Transaction Date (year-month)"
,即“交易日期(年月)”)。否则,标题仅为字段名称。注意:
1) 您可以通过在config中提供fieldTitle属性,或通过编译函数的options参数提供的fieldTitle函数来自定义默认字段标题格式。
2) 如果同时定义了字段定义的
title
以及轴、头部或图例的title
,则将使用轴/头部/图例的标题。- type
Type
, Literal[‘quantitative’, ‘ordinal’, ‘temporal’, ‘nominal’, ‘geojson’] 编码字段或常量值(
datum
)的测量类型("quantitative"
、"temporal"
、"ordinal"
或"nominal"
)。也可以是"geojson"
类型,用于编码“地理图形(geoshape)”。Vega-Lite 在许多情况下会自动推断数据类型,如下文所述。但是,在以下情况下,字段需要指定类型:(1) 字段不是 nominal 类型,且字段编码没有指定
aggregate
(argmin
和argmax
除外)、bin
、比例尺类型、自定义sort
顺序或timeUnit
;或者 (2) 如果您希望对具有bin
或timeUnit
的字段使用 ordinal 比例尺。默认值
1) 对于数据
field
,默认数据类型为"nominal"
,除非字段编码具有满足以下条件的aggregate
、channel
、bin
、比例尺类型、sort
或timeUnit
如果满足以下条件,默认类型为
"quantitative"
:(1) 编码字段包含bin
或aggregate
("argmin"
和"argmax"
除外),(2) 编码通道是latitude
或longitude
通道,或者 (3) 如果指定的比例尺类型是定量比例尺。如果满足以下条件,默认类型为
"temporal"
:(1) 编码字段包含timeUnit
,或者 (2) 指定的比例尺类型是时间或 utc 比例尺。如果满足以下条件,默认类型为
"ordinal"
:(1) 编码字段包含自定义排序顺序,(2) 指定的比例尺类型是 ordinal/point/band 比例尺,或者 (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"}
计算 categorical 字段"cat"
的distinct
计数。聚合输出的"type"
是"quantitative"
。辅助通道(例如,
x2
、y2
、xError
、yError
)没有type
属性,因为它们的类型必须与其主通道(例如,x
、y
)完全相同。
另请参阅: type 文档。
- axisdict,
- __init__(datum, axis=Undefined, bandPosition=Undefined, impute=Undefined, scale=Undefined, stack=Undefined, title=Undefined, type=Undefined, **kwds)#
方法
__init__
(datum[, axis, bandPosition, ...])copy
([deep, ignore])返回对象的副本。
from_dict
(dct[, validate])从字典表示构造类。
from_json
(json_string[, validate])从有效的 JSON 字符串实例化对象。
resolve_references
([schema])在此对象 schema 或根 schema 的上下文中解析引用。
to_dict
([validate, ignore, context])返回对象的字典表示。
to_json
([validate, indent, sort_keys, ...])将此对象的 JSON 表示作为字符串发出。
validate
(instance[, schema])在根 schema 的上下文中根据类 schema 验证实例。
validate_property
(name, value[, schema])在根 schema 的上下文中根据属性 schema 验证属性。
属性
axis
Axis schema 包装器。
bandPosition
在堆叠、分箱、时间单位或带状比例尺的带状上的相对位置。
datum
数据域中的一个常量值。
impute
ImputeParams schema 包装器。
scale
Scale schema 包装器。
stack
如果字段需要堆叠,则指定堆叠偏移类型。
title
TitleParams schema 包装器。
type
Type schema 包装器。