altair.PositionDatumDef#
- class altair.PositionDatumDef(axis=Undefined, bandPosition=Undefined, datum=Undefined, impute=Undefined, scale=Undefined, stack=Undefined, title=Undefined, type=Undefined, **kwds)#
PositionDatumDef 模式封装。
- 参数:
- axisdict,
Axis
, None 一个定义坐标轴网格线、刻度和标签属性的对象。如果为
null
,则将移除编码通道的坐标轴。默认值:如果未定义,将应用默认的坐标轴属性。
另请参阅:坐标轴文档。
- bandPositionfloat
在堆叠、分箱、时间单位或带状比例尺的带状上的相对位置。例如,如果设置为
0
,则标记将位于带状的起始位置;如果设置为0.5
,则位于带状的中间位置。- datumstr, bool, dict, float,
ExprRef
,DateTime
,RepeatRef
,PrimitiveValue
, None 数据域中的一个常量值。
- imputedict,
ImputeParams
, None 一个定义要应用的填充(Impute)操作属性的对象。另一个位置通道的字段值被用作填充(
Impute
)操作的key
。如果指定了颜色通道的字段,则用作填充(Impute
)操作的groupby
。另请参阅:填充(impute)文档。
- scaledict,
Scale
, None 一个定义通道比例尺属性的对象,比例尺是将数据域中的值(数字、日期、字符串等)转换为编码通道的视觉值(像素、颜色、大小)的函数。
如果为
null
,比例尺将被禁用,数据值将被直接编码。默认值:如果未定义,将应用默认的比例尺属性。
另请参阅:比例尺(scale)文档。
- stackbool,
StackOffset
, Literal[‘zero’, ‘center’, ‘normalize’], None 如果字段应堆叠,则堆叠偏移的类型。
stack
仅适用于具有连续域的x
、y
、theta
和radius
通道。例如,y
的stack
可用于定制垂直柱状图的堆叠。stack
可以是以下值之一:"normalize"
- 使用归一化域进行堆叠(用于创建归一化堆叠柱状图和面积图以及带百分比工具提示的饼图)。"center"
- 使用中心基线进行堆叠(用于流图)。null
或false
- 不堆叠。这将生成分层柱状图和面积图。
默认值:对于满足以下所有条件的图表,默认值为
zero
:(1) 标记是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 属性或通过编译函数的选项提供fieldTitle 函数来定制默认的字段标题格式。
2) 如果字段定义中的
title
以及坐标轴、表头或图例中的title
都已定义,将使用坐标轴/表头/图例中的标题。- type
Type
, Literal[‘quantitative’, ‘ordinal’, ‘temporal’, ‘nominal’, ‘geojson’] 编码字段或常量值(
datum
)的测量类型("quantitative"
、"temporal"
、"ordinal"
或"nominal"
)。它也可以是用于编码‘geoshape’的"geojson"
类型。Vega-Lite 在很多情况下会自动推断数据类型,如下所述。然而,在以下情况下,字段需要指定类型:(1) 字段不是定性类型(nominal),并且该字段的编码未指定
aggregate
(argmin
和argmax
除外)、bin
、比例尺类型、自定义sort
顺序或timeUnit
;或 (2) 如果你想对包含bin
或timeUnit
的字段使用有序比例尺(ordinal scale)。默认值
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) 指定的比例尺类型是有序/点/带状比例尺,或 (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)文档。
- axisdict,
- __init__(axis=Undefined, bandPosition=Undefined, datum=Undefined, impute=Undefined, scale=Undefined, stack=Undefined, title=Undefined, type=Undefined, **kwds)#
方法
__init__
([axis, bandPosition, datum, ...])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])在根模式的上下文中验证属性是否符合属性模式。