vega-lite
Version:
Vega-Lite is a concise high-level language for interactive visualization.
1,316 lines (1,315 loc) • 1.88 MB
JSON
{
"$ref": "#/definitions/TopLevelSpec",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"Aggregate": {
"anyOf": [
{
"$ref": "#/definitions/NonArgAggregateOp"
},
{
"$ref": "#/definitions/ArgmaxDef"
},
{
"$ref": "#/definitions/ArgminDef"
}
]
},
"AggregateOp": {
"enum": [
"argmax",
"argmin",
"average",
"count",
"distinct",
"max",
"mean",
"median",
"min",
"missing",
"product",
"q1",
"q3",
"ci0",
"ci1",
"stderr",
"stdev",
"stdevp",
"sum",
"valid",
"values",
"variance",
"variancep",
"exponential",
"exponentialb"
],
"type": "string"
},
"AggregateTransform": {
"additionalProperties": false,
"properties": {
"aggregate": {
"description": "Array of objects that define fields to aggregate.",
"items": {
"$ref": "#/definitions/AggregatedFieldDef"
},
"type": "array"
},
"groupby": {
"description": "The data fields to group by. If not specified, a single group containing all data objects will be used.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
}
},
"required": [
"aggregate"
],
"type": "object"
},
"AggregatedFieldDef": {
"additionalProperties": false,
"properties": {
"as": {
"$ref": "#/definitions/FieldName",
"description": "The output field names to use for each aggregated field."
},
"field": {
"$ref": "#/definitions/FieldName",
"description": "The data field for which to compute aggregate function. This is required for all aggregation operations except `\"count\"`."
},
"op": {
"$ref": "#/definitions/AggregateOp",
"description": "The aggregation operation to apply to the fields (e.g., `\"sum\"`, `\"average\"`, or `\"count\"`). See the [full list of supported aggregation operations](https://vega.github.io/vega-lite/docs/aggregate.html#ops) for more information."
}
},
"required": [
"op",
"as"
],
"type": "object"
},
"Align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"AllSortString": {
"anyOf": [
{
"$ref": "#/definitions/SortOrder"
},
{
"$ref": "#/definitions/SortByChannel"
},
{
"$ref": "#/definitions/SortByChannelDesc"
}
]
},
"AnyMark": {
"anyOf": [
{
"$ref": "#/definitions/CompositeMark"
},
{
"$ref": "#/definitions/CompositeMarkDef"
},
{
"$ref": "#/definitions/Mark"
},
{
"$ref": "#/definitions/MarkDef"
}
]
},
"AnyMarkConfig": {
"anyOf": [
{
"$ref": "#/definitions/MarkConfig"
},
{
"$ref": "#/definitions/AreaConfig"
},
{
"$ref": "#/definitions/BarConfig"
},
{
"$ref": "#/definitions/RectConfig"
},
{
"$ref": "#/definitions/LineConfig"
},
{
"$ref": "#/definitions/TickConfig"
}
]
},
"AreaConfig": {
"additionalProperties": false,
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The horizontal alignment of the text or ranged marks (area, bar, image, rect, rule). One of `\"left\"`, `\"right\"`, `\"center\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"angle": {
"anyOf": [
{
"description": "The rotation angle of the text, in degrees.",
"maximum": 360,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG element, removing the mark item from the ARIA accessibility tree.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRole": {
"anyOf": [
{
"description": "Sets the type of user interface element of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"role\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRoleDescription": {
"anyOf": [
{
"description": "A human-readable, author-localized description for the role of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"aria-roledescription\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aspect": {
"anyOf": [
{
"description": "Whether to keep aspect ratio of image marks.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"baseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For text marks, the vertical text baseline. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, `\"line-bottom\"`, or an expression reference that provides one of the valid values. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `lineHeight` rather than `fontSize` alone.\n\nFor range marks, the vertical alignment of the marks. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"blend": {
"anyOf": [
{
"$ref": "#/definitions/Blend",
"description": "The color blend mode for drawing an item on its current background. Any valid [CSS mix-blend-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode) value can be used.\n\n__Default value: `\"source-over\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"cornerRadius": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles or arcs' corners.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cursor": {
"anyOf": [
{
"$ref": "#/definitions/Cursor",
"description": "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dir": {
"anyOf": [
{
"$ref": "#/definitions/TextDirection",
"description": "The direction of the text. One of `\"ltr\"` (left-to-right) or `\"rtl\"` (right-to-left). This property determines on which side is truncated in response to the limit parameter.\n\n__Default value:__ `\"ltr\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dx": {
"anyOf": [
{
"description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dy": {
"anyOf": [
{
"description": "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ellipsis": {
"anyOf": [
{
"description": "The ellipsis string for text truncated in response to the limit parameter.\n\n__Default value:__ `\"…\"`",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"endAngle": {
"anyOf": [
{
"description": "The end angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fill": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default fill color. This property has higher precedence than `config.color`. Set to `null` to remove fill.\n\n__Default value:__ (None)"
},
"fillOpacity": {
"anyOf": [
{
"description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"filled": {
"description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `false` for all `point`, `line`, and `rule` marks as well as `geoshape` marks for [`graticule`](https://vega.github.io/vega-lite/docs/data.html#graticule) data sources; otherwise, `true`.\n\n__Note:__ This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).",
"type": "boolean"
},
"font": {
"anyOf": [
{
"description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontSize": {
"anyOf": [
{
"description": "The font size, in pixels.\n\n__Default value:__ `11`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style (e.g., `\"italic\"`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"height": {
"anyOf": [
{
"description": "Height of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"href": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"innerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The inner radius in pixels of arc marks. `innerRadius` is an alias for `radius2`.\n\n__Default value:__ `0`",
"minimum": 0
},
"interpolate": {
"anyOf": [
{
"$ref": "#/definitions/Interpolate",
"description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step function.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"invalid": {
"anyOf": [
{
"$ref": "#/definitions/MarkInvalidDataMode"
},
{
"type": "null"
}
],
"description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks."
},
"limit": {
"anyOf": [
{
"description": "The maximum length of the text mark in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0` -- indicating no limit",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"line": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/OverlayMarkDef"
}
],
"description": "A flag for overlaying line on top of area marks, or an object defining the properties of the overlayed lines.\n\n- If this value is an empty object (`{}`) or `true`, lines with default properties will be used.\n\n- If this value is `false`, no lines would be automatically added to area marks.\n\n__Default value:__ `false`."
},
"lineBreak": {
"anyOf": [
{
"description": "A delimiter, such as a newline character, upon which to break text strings into multiple lines. This property is ignored if the text is array-valued.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineHeight": {
"anyOf": [
{
"description": "The line height in pixels (the spacing between subsequent lines of text) for multi-line text marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"opacity": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.",
"maximum": 1,
"minimum": 0
},
"order": {
"description": "For line and trail marks, this `order` property can be set to `null` or `false` to make the lines use the original order in the data sources.",
"type": [
"null",
"boolean"
]
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "The orientation of a non-stacked bar, tick, area, and line charts. The value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick should be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line and trail marks, this property determines the sort order of the points in the line if `config.sortLineBy` is not specified. For stacked charts, this is always determined by the orientation of the stack; therefore explicitly specified value will be ignored."
},
"outerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The outer radius in pixels of arc marks. `outerRadius` is an alias for `radius`.\n\n__Default value:__ `0`",
"minimum": 0
},
"padAngle": {
"anyOf": [
{
"description": "The angular padding applied to sides of the arc, in radians.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"point": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/OverlayMarkDef"
},
{
"const": "transparent",
"type": "string"
}
],
"description": "A flag for overlaying points on top of line or area marks, or an object defining the properties of the overlayed points.\n\n- If this property is `\"transparent\"`, transparent points will be used (for enhancing tooltips and selections).\n\n- If this property is an empty object (`{}`) or `true`, filled points with default properties will be used.\n\n- If this property is `false`, no points would be automatically added to line or area marks.\n\n__Default value:__ `false`."
},
"radius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For arc mark, the primary (outer) radius in pixels.\n\nFor text marks, polar coordinate radial offset, in pixels, of the text from the origin determined by the `x` and `y` properties.\n\n__Default value:__ `min(plot_width, plot_height)/2`",
"minimum": 0
},
"radius2": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The secondary (inner) radius in pixels of arc marks.\n\n__Default value:__ `0`",
"minimum": 0
},
"shape": {
"anyOf": [
{
"anyOf": [
{
"$ref": "#/definitions/SymbolShape"
},
{
"type": "string"
}
],
"description": "Shape of the point marks. Supported values include:\n- plotting shapes: `\"circle\"`, `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`, `\"triangle-down\"`, `\"triangle-right\"`, or `\"triangle-left\"`.\n- the line symbol `\"stroke\"`\n- centered directional shapes `\"arrow\"`, `\"wedge\"`, or `\"triangle\"`\n- a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) (For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.)\n\n__Default value:__ `\"circle\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"size": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default size for marks.\n- For `point`/`circle`/`square`, this represents the pixel area of the marks. Note that this value sets the area of the symbol; the side lengths will increase with the square root of this value.\n- For `bar`, this represents the band size of the bar, in pixels.\n- For `text`, this represents the font size, in pixels.\n\n__Default value:__\n- `30` for point, circle, square marks; width/height's `step`\n- `2` for bar marks with discrete dimensions;\n- `5` for bar marks with continuous dimensions;\n- `11` for text marks.",
"minimum": 0
},
"smooth": {
"anyOf": [
{
"description": "A boolean flag (default true) indicating if the image should be smoothed when resized. If false, individual pixels should be scaled directly rather than interpolated with smoothing. For SVG rendering, this option may not work in some browsers due to lack of standardization.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"startAngle": {
"anyOf": [
{
"description": "The start angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"stroke": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default stroke color. This property has higher precedence than `config.color`. Set to `null` to remove stroke.\n\n__Default value:__ (None)"
},
"strokeCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for line ending style. One of `\"butt\"`, `\"round\"`, or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDash": {
"anyOf": [
{
"description": "An array of alternating stroke, space lengths for creating dashed or dotted lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDashOffset": {
"anyOf": [
{
"description": "The offset (in pixels) into which to begin drawing with the stroke dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeJoin": {
"anyOf": [
{
"$ref": "#/definitions/StrokeJoin",
"description": "The stroke line join method. One of `\"miter\"`, `\"round\"` or `\"bevel\"`.\n\n__Default value:__ `\"miter\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeMiterLimit": {
"anyOf": [
{
"description": "The miter limit at which to bevel a line join.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeOffset": {
"anyOf": [
{
"description": "The offset in pixels at which to draw the group stroke and fill. If unspecified, the default behavior is to dynamically offset stroked groups such that 1 pixel stroke widths align with the pixel grid.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeOpacity": {
"anyOf": [
{
"description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeWidth": {
"anyOf": [
{
"description": "The stroke width, in pixels.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tension": {
"anyOf": [
{
"description": "Depending on the interpolation type, sets the tension parameter (for line and area marks).",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"text": {
"anyOf": [
{
"$ref": "#/definitions/Text",
"description": "Placeholder text if the `text` channel is not specified"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"theta": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "- For arc marks, the arc length in radians if theta2 is not specified, otherwise the start arc angle. (A value of 0 indicates up or “north”, increasing values proceed clockwise.)\n\n- For text marks, polar coordinate angle in radians.",
"maximum": 360,
"minimum": 0
},
"theta2": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The end angle of arc marks in radians. A value of 0 indicates up or “north”, increasing values proceed clockwise."
},
"time": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"timeUnitBandPosition": {
"description": "Default relative band position for a time unit. If set to `0`, the marks will be positioned at the beginning of the time unit band step. If set to `0.5`, the marks will be positioned in the middle of the time unit band step.",
"type": "number"
},
"timeUnitBandSize": {
"description": "Default relative band size for a time unit. If set to `1`, the bandwidth of the marks will be equal to the time unit band step. If set to `0.5`, bandwidth of the marks will be half of the time unit band step.",
"type": "number"
},
"tooltip": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "boolean"
},
{
"$ref": "#/definitions/TooltipContent"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"type": "null"
}
],
"description": "The tooltip text string to show upon mouse hover or an object defining which fields should the tooltip be derived from.\n\n- If `tooltip` is `true` or `{\"content\": \"encoding\"}`, then all fields from `encoding` will be used.\n- If `tooltip` is `{\"content\": \"data\"}`, then all fields that appear in the highlighted data point will be used.\n- If set to `null` or `false`, then no tooltip will be used.\n\nSee the [`tooltip`](https://vega.github.io/vega-lite/docs/tooltip.html) documentation for a detailed discussion about tooltip in Vega-Lite.\n\n__Default value:__ `null`"
},
"url": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "The URL of the image file for image marks."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"width": {
"anyOf": [
{
"description": "Width of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"x": {
"anyOf": [
{
"type": "number"
},
{
"const": "width",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"` without specified `x2` or `width`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"x2": {
"anyOf": [
{
"type": "number"
},
{
"const": "width",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"y": {
"anyOf": [
{
"type": "number"
},
{
"const": "height",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"` without specified `y2` or `height`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"y2": {
"anyOf": [
{
"type": "number"
},
{
"const": "height",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
}
},
"type": "object"
},
"ArgmaxDef": {
"additionalProperties": false,
"properties": {
"argmax": {
"$ref": "#/definitions/FieldName"
}
},
"required": [
"argmax"
],
"type": "object"
},
"ArgminDef": {
"additionalProperties": false,
"properties": {
"argmin": {
"$ref": "#/definitions/FieldName"
}
},
"required": [
"argmin"
],
"type": "object"
},
"AutoSizeParams": {
"additionalProperties": false,
"properties": {
"contains": {
"description": "Determines how size calculation should be performed, one of `\"content\"` or `\"padding\"`. The default setting (`\"content\"`) interprets the width and height settings as the data rectangle (plotting) dimensions, to which padding is then added. In contrast, the `\"padding\"` setting includes the padding within the view size calculations, such that the width and height settings indicate the **total** intended size of the view.\n\n__Default value__: `\"content\"`",
"enum": [
"content",
"padding"
],
"type": "string"
},
"resize": {
"description": "A boolean flag indicating if autosize layout should be re-calculated on every view update.\n\n__Default value__: `false`",
"type": "boolean"
},
"type": {
"$ref": "#/definitions/AutosizeType",
"description": "The sizing format type. One of `\"pad\"`, `\"fit\"`, `\"fit-x\"`, `\"fit-y\"`, or `\"none\"`. See the [autosize type](https://vega.github.io/vega-lite/docs/size.html#autosize) documentation for descriptions of each.\n\n__Default value__: `\"pad\"`"
}
},
"type": "object"
},
"AutosizeType": {
"enum": [
"pad",
"none",
"fit",
"fit-x",
"fit-y"
],
"type": "string"
},
"Axis": {
"additionalProperties": false,
"properties": {
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG group, removing the axis from the ARIA accessibility tree.\n\n__Default value:__ `true`",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"bandPosition": {
"anyOf": [
{
"description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be positioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5` places ticks in the middle of their bands.\n\n __Default value:__ `0.5`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of this axis for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If the `aria` property is true, for SVG output the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute) will be set to this description. If the description is unspecified it will be automatically generated.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domain": {
"description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.\n\n__Default value:__ `true`",
"type": "boolean"
},
"domainCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for the domain line's ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of axis domain line.\n\n__Default value:__ `\"gray\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed domain lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the domain dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainOpacity": {
"anyOf": [
{
"description": "Opacity of the axis domain line.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainWidth": {
"anyOf": [
{
"description": "Stroke width of axis domain line\n\n__Default value:__ `1`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"format": {
"$ref": "#/definitions/Format",
"description": "The text format specifier for formatting number and date/time in labels of guides (axes, legends, headers) and text marks.\n\nIf the format type is `\"number\"` (e.g., for quantitative fields), this is a D3's [number format pattern string](https://github.com/d3/d3-format#locale_format).\n\nIf the format type is `\"time\"` (e.g., for temporal fields), this is either: a) D3's [time format pattern](https://d3js.org/d3-time-format#locale_format) if you desire to set a static time format.\n\n b) [dynamic time format specifier object](https://vega.github.io/vega-lite/docs/format.html#dynamic-time-format) if you desire to set a dynamic time format that uses different formats depending on the granularity of the input date (e.g., if the date lies on a year, month, date, hour, etc. boundary).\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"grid": {
"description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](https://vega.github.io/vega-lite/docs/scale.html#continuous) that are not binned; otherwise, `false`.",
"type": "boolean"
},
"gridCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for grid lines' ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gridColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of gridlines.\n\n__Default value:__ `\"lightGray\"`."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"gridDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed grid lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumberArray"
}
]
},
"gridDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the grid dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"gridOpacity": {
"anyOf": [
{
"description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"gridWidth": {
"anyOf": [
{
"description": "The grid width, in pixels.\n\n__Default value:__ `1`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment of axis tick labels, overriding the default setting for the current axis orientation."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelAlign"
}
]
},
"labelAngle": {
"anyOf": [
{
"description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline of axis tick labels, overriding the default setting for the current axis orientation. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelBaseline"
}
]
},
"labelBound": {
"anyOf": [
{
"description": "Indicates if labels should be hidden if they exceed the axis range. If `false` (the default) no bounds overlap analysis is performed. If `true`, labels will be hidden if they exceed the axis range by more than 1 pixel. If this property is a number, it specifies the pixel tolerance: the maximum amount by which a label bounding box may exceed the axis range.\n\n__Default value:__ `false`.",
"type": [
"number",