key: radius

description: Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.


key: shape

description:
The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.

__Default value:__ `"circle"`

type: string


key: size

description: Size of the box and mid tick of a box plot

type: number


key: stroke

description:
Default Stroke Color.  This has higher precedence than config.color

__Default value:__ (None)


key: strokeDash

description: An array of alternating stroke, space lengths for creating dashed or dotted lines.

type: array


key: strokeDashOffset

description: The offset (in pixels) into which to begin drawing with the stroke dash array.


key: strokeOpacity

description:
The stroke opacity (value between [0,1]).

__Default value:__ `1`


key: strokeWidth

description: The stroke width, in pixels.


key: tension

description: Depending on the interpolation type, sets the tension parameter (for line and area marks).


key: text

description: Placeholder text if the `text` channel is not specified


key: theta

description: Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".


key: box

description: Box Config


key: fill

description:
The fill color of the interval mark.

__Default value:__ `#333333`


key: fillOpacity

description:
The fill opacity of the interval mark (a value between 0 and 1).

__Default value:__ `0.125`


description:
The stroke color of the interval mark.

__Default value:__ `#ffffff`


description:
An array of alternating stroke and space lengths,
for creating dashed or dotted lines.


description: The offset (in pixels) with which to begin drawing the stroke dash array.


description: The stroke opacity of the interval mark (a value between 0 and 1).


description: The stroke width of the interval mark.


key: as

description: The field for storing the computed formula value.


key: calculate

description: A string containing a Vega Expression. Use the variable `datum` to refer to the current data object.


key: CompositeUnitSpec

description: Unit spec that can have a composite mark.


key: aggregate

description:
Aggregation function for the field
(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).

__Default value:__ `undefined` (None)


key: bin

description:
A flag for binning a `quantitative` field, or [an object defining binning parameters](bin.html#params).
If `true`, default [binning parameters](bin.html) will be applied.

__Default value:__ `false`

type: boolean


key: field

description:
__Required.__ A string defining the name of the field from which to pull a data value
or an object defining iterated values from the [`repeat`](repeat.html) operator.

__Note:__ `field` is not required if `aggregate` is `count`.


key: legend

description:
An object defining properties of the legend.
If `null`, the legend for the encoding channel will be removed.

__Default value:__ If undefined, default [legend properties](legend.html) are applied.


key: scale

description:
An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

__Default value:__ If undefined, default [scale properties](scale.html) are applied.


key: selection

description: A [selection name](selection.html), or a series of [composed selections](selection.html#compose).


key: sort

description:
Sort order for the encoded field.
Supported `sort` values include `"ascending"`, `"descending"` and `null` (no sorting).
For fields with discrete domains, `sort` can also be a [sort field definition object](sort.html#sort-field).

__Default value:__ `"ascending"`


key: timeUnit

description:
Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.
or [a temporal field that gets casted as ordinal](type.html#cast).

__Default value:__ `undefined` (None)


key: type

description: The encoded field's type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).


key: format

description: The [formatting pattern](format.html) for a text field. If not defined, this will be determined automatically.


key: value

description: A constant value in visual domain (e.g., `"red"` / "#0099ff" for color, values between `0` to `1` for opacity).

type: number string boolean


key: area

description: Area-Specific Config


key: autosize

description:
Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.
Object values can additionally specify parameters for content sizing and automatic resizing.
`"fit"` is only supported for single and layered views that don't use `rangeStep`.

__Default value__: `pad`


key: axis

description: Axis configuration, which determines default properties for all `x` and `y` [axes](axis.html). For a full list of axis configuration options, please see the [corresponding section of the axis documentation](axis.html#config).


key: axisBand

description: Specific axis config for axes with "band" scales.


key: axisBottom

description: Specific axis config for x-axis along the bottom edge of the chart.


key: axisLeft

description: Specific axis config for y-axis along the left edge of the chart.


key: axisRight

description: Specific axis config for y-axis along the right edge of the chart.


key: axisTop

description: Specific axis config for x-axis along the top edge of the chart.


key: axisX

description: X-axis specific config.


key: axisY

description: Y-axis specific config.


key: background

description:
CSS color property to use as the background of visualization.

__Default value:__ none (transparent)


key: bar

description: Bar-Specific Config


key: circle

description: Circle-Specific Config


key: countTitle

description:
Default axis and legend title for count fields.

__Default value:__ `'Number of Records'`.


key: fieldTitle

description:
Defines how Vega-Lite generates title for fields.  There are three possible styles:
- `"verbal"` (Default) - displays function in a verbal style (e.g., "Sum of field", "Year-month of date", "field (binned)").
- `"function"` - displays function using parentheses and capitalized texts (e.g., "SUM(field)", "YEARMONTH(date)", "BIN(field)").
- `"plain"` - displays only the field name without functions (e.g., "field", "date", "field").

enum: verbal functional plain


key: invalidValues

description:
Defines how Vega-Lite should handle invalid values (`null` and `NaN`).
- If set to `"filter"` (default), all data items with null values are filtered.
- If `null`, all data items are included. In this case, invalid values will be interpreted as zeroes.


key: legend

description: Legend configuration, which determines default properties for all [legends](legend.html). For a full list of legend configuration options, please see the [corresponding section of in the legend documentation](legend.html#config).


key: line

description: Line-Specific Config


key: mark

description: Mark Config


key: numberFormat

description: D3 Number format for axis labels and text tables. For example "s" for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).


key: padding

description:
The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.
If an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.

__Default value__: `5`


key: point

description: Point-Specific Config


key: range

description:
An object hash that defines default range arrays or schemes for using with scales.
For a full list of scale range configuration options, please see the [corresponding section of the scale documentation](scale.html#config).


key: rect

description: Rect-Specific Config


key: rule

description: Rule-Specific Config


key: scale

description: Scale configuration determines default properties for all [scales](scale.html). For a full list of scale configuration options, please see the [corresponding section of the scale documentation](scale.html#config).


key: selection

description: An object hash for defining default properties for each type of selections.


key: square

description: Square-Specific Config


key: stack

description: Default stack offset for stackable mark.


key: style

description: An object hash that defines key-value mappings to determine default properties for marks with a given [style](mark.html#mark-def).  The keys represent styles names; the value are valid [mark configuration objects](mark.html#config).


key: text

description: Text-Specific Config


key: tick

description: Tick-Specific Config


key: timeFormat

description:
Default datetime format for axis and legend labels. The format can be set directly on each axis and legend. Use [D3's time format pattern](https://github.com/d3/d3-time-format#locale_format).

__Default value:__ `'%b %d, %Y'`.


key: title

description: Title configuration, which determines default properties for all [titles](title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](title.html#config).


key: view

description: Default properties for [single view plots](spec.html#single).


key: parse

description:
If set to auto (the default), perform automatic type inference to determine the desired data types.
Alternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `"number"`, `"boolean"` or `"date"`).
For example, `"parse": {"modified_on": "date"}` parses the `modified_on` field in each input record a Date value.

For `"date"`, we parse data based using Javascript's [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
For Specific date formats can be provided (e.g., `{foo: 'date:"%m%d%Y"'}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: 'utc:"%m%d%Y"'}`). See more about [UTC time](timeunit.html#utc)

type: object


key: type

description:
Type of input data: `"json"`, `"csv"`, `"tsv"`.
The default format type is determined by the extension of the file URL.
If no extension is detected, `"json"` will be used by default.

enum: csv tsv


key: DateTime

description:
Object for defining datetime in Vega-Lite Filter.
If both month and quarter are provided, month has higher precedence.
`day` cannot be combined with other date.
We accept string for month and day names.


key: date

description: Integer value representing the date from 1-31.


key: day

description: Value representing the day of a week.  This can be one of: (1) integer value -- `1` represents Monday; (2) case-insensitive day name (e.g., `"Monday"`);  (3) case-insensitive, 3-character short day name (e.g., `"Mon"`).   <br/> **Warning:** A DateTime definition object with `day`** should not be combined with `year`, `quarter`, `month`, or `date`.


key: hours

description: Integer value representing the hour of a day from 0-23.


key: milliseconds

description: Integer value representing the millisecond segment of time.


key: minutes

description: Integer value representing the minute segment of time from 0-59.


key: month

description: One of: (1) integer value representing the month from `1`-`12`. `1` represents January;  (2) case-insensitive month name (e.g., `"January"`);  (3) case-insensitive, 3-character short month name (e.g., `"Jan"`).


key: quarter

description: Integer value representing the quarter of the year (from 1-4).


key: seconds

description: Integer value representing the second segment (0-59) of a time value


key: utc

description: A boolean flag indicating if date time is in utc time. If false, the date time is in local time


key: year

description: Integer value representing the year.


key: color

description:
Color of the marks – either fill or stroke color based on mark type.
By default, `color` represents fill color for `"area"`, `"bar"`, `"tick"`,
`"text"`, `"circle"`, and `"square"` / stroke color for `"line"` and `"point"`.

__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.

_Note:_ See the scale documentation for more information about customizing [color scheme](scale.html#scheme).


key: detail

description:
Additional levels of detail for grouping data in aggregate views and
in line and area marks without mapping data to a specific visual channel.


key: opacity

description:
Opacity of the marks – either can be a value or a range.

__Default value:__ If undefined, the default opacity depends on [mark config](config.html#mark)'s `opacity` property.


key: order

description:
Stack order for stacked marks or order of data points in line marks for connected scatter plots.

__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating additional aggregation grouping.


key: shape

description:
The symbol's shape (only for `point` marks). The supported values are
`"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`,
or `"triangle-down"`, or else a custom SVG path string.
__Default value:__ If undefined, the default shape depends on [mark config](config.html#point-config)'s `shape` property.


key: size

description:
Size of the mark.
- For `"point"`, `"square"` and `"circle"`, – the symbol size, or pixel area of the mark.
- For `"bar"` and `"tick"` – the bar and tick's size.
- For `"text"` – the text's font size.
- Size is currently unsupported for `"line"`, `"area"`, and `"rect"`.


key: text

description: Text of the `text` mark.


key: tooltip

description: The tooltip text to show upon mouse hover.


key: x

description: X coordinates of the marks, or width of horizontal `"bar"` and `"area"`.


X2 coordinates for ranged  `"area"`, `"bar"`, `"rect"`, and  `"rule"`.


key: y

description: Y coordinates of the marks, or height of vertical `"bar"` and `"area"`.


Y2 coordinates for ranged  `"area"`, `"bar"`, `"rect"`, and  `"rule"`.


key: column

description: Horizontal facets for trellis plots.


key: row

description: Vertical facets for trellis plots.


key: equal

description: The value that the field should be equal to.


key: field

description: Field to be filtered.


key: timeUnit

description: Time unit for the field to be filtered.


key: aggregate

description:
Aggregation function for the field
(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).

__Default value:__ `undefined` (None)


key: bin

description:
A flag for binning a `quantitative` field, or [an object defining binning parameters](bin.html#params).
If `true`, default [binning parameters](bin.html) will be applied.

__Default value:__ `false`


description:
__Required.__ A string defining the name of the field from which to pull a data value
or an object defining iterated values from the [`repeat`](repeat.html) operator.

__Note:__ `field` is not required if `aggregate` is `count`.


key: header

description: An object defining properties of a facet's header.


key: sort

description:
Sort order for a facet field.
This can be `"ascending"`, `"descending"`.


description:
Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.
or [a temporal field that gets casted as ordinal](type.html#cast).

__Default value:__ `undefined` (None)


key: type

description: The encoded field's type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).


key: FacetedUnitSpec

description: Unit spec that can have a composite mark and row or column channels.


key: FieldDef

description: Definition object for a data field, its type and transformation of an encoding channel.


key: MarkPropFieldDefWithCondition

description:
A FieldDef with Condition<ValueDef>
{
   condition: {value: ...},
   field: ...,
   ...
}


key: condition

description:
One or more value definition(s) with a selection predicate.

__Note:__ A field definition's `condition` property can only contain [value definitions](encoding.html#value)
since Vega-Lite only allows at mosty  one encoded field per encoding channel.


key: legend

description:
An object defining properties of the legend.
If `null`, the legend for the encoding channel will be removed.

__Default value:__ If undefined, default [legend properties](legend.html) are applied.


key: scale

description:
An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

__Default value:__ If undefined, default [scale properties](scale.html) are applied.


description:
Sort order for the encoded field.
Supported `sort` values include `"ascending"`, `"descending"` and `null` (no sorting).
For fields with discrete domains, `sort` can also be a [sort field definition object](sort.html#sort-field).

__Default value:__ `"ascending"`


key: TextFieldDefWithCondition


key: format

description: The [formatting pattern](format.html) for a text field. If not defined, this will be determined automatically.


key: filter

description:
The `filter` property must be either (1) a filter object for [equal-filters](filter.html#equalfilter),
[range-filters](filter.html#rangefilter), [one-of filters](filter.html#oneoffilter), or [selection filters](filter.html#selectionfilter);
(2) a [Vega Expression](filter.html#expression) string,
where `datum` can be used to refer to the current data object; or (3) an array of filters (either objects or expression strings) that must all be true for a datum to pass the filter and be included.


key: data

description: An object describing the data source


key: description

description: Description of this mark for commenting purpose.


key: facet

description: An object that describes mappings between `row` and `column` channels and their field definitions.


key: name

description: Name of the visualization for later reference.


key: resolve

description: Scale, axis, and legend resolutions for facets.


key: spec

description: A specification of the view that gets faceted.


key: title

description: Title for the plot.


key: transform

description: An array of data transformations such as filter and new field calculation.


key: hconcat

description: A list of views that should be concatenated and put into a row.


description: Scale, axis, and legend resolutions for horizontally concatenated charts.


key: height

description:
The height of a visualization.

__Default value:__
- If a view's [`autosize`](size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](scale.html#continuous), the height will be the value of [`config.view.height`](spec.html#config).
- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](spec.html#config).
- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.

__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this represents the height of a single view.

__See also:__ The documentation for [width and height](size.html) contains more examples.


key: layer

description:
Layer or single view specifications to be layered.

__Note__: Specifications inside `layer` cannot use `row` and `column` channels as layering facet specifications is not allowed.


description: Scale, axis, and legend resolutions for layers.


key: width

description:
The width of a visualization.

__Default value:__ This will be determined by the following rules:

- If a view's [`autosize`](size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](scale.html#continuous), the width will be the value of [`config.view.width`](spec.html#config).
- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](spec.html#config).
- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.

__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this represents the width of a single view.

__See also:__ The documentation for [width and height](size.html) contains more examples.


key: repeat

description: An object that describes what fields should be repeated into views that are laid out as a `row` or `column`.


description: Scale and legend resolutions for repeated charts.


key: encoding

description: A key-value mapping between encoding channels and definition of fields.


key: mark

description:
A string describing the mark type (one of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,
`"area"`, `"point"`, `"rule"`, and `"text"`) or a [mark definition object](mark.html#mark-def).


key: selection

description: A key-value mapping between selection names and definitions.


description: An object describing the data source


description: Description of this mark for commenting purpose.


description: Scale, axis, and legend resolutions for vertically concatenated charts.


key: vconcat

description: A list of views that should be concatenated and put into a column.


key: format

description:
The formatting pattern for labels. This is D3's [number format pattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format) for time field.

See the [format documentation](format.html) for more information.

__Default value:__  derived from [numberFormat](config.html#format) config for quantitative fields and from [timeFormat](config.html#format) config for temporal fields.


description:
A title for the field. If `null`, the title will be removed.

__Default value:__  derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as a part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function will be denoted in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.

__Note__: You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function's options](compile.html#field-title).


key: Header

description: Headers of row / column channels for faceted plots.


description:
The formatting pattern for labels. This is D3's [number format pattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format) for time field.

__Default value:__  derived from [numberFormat](config.html#format) config for quantitative fields and from [timeFormat](config.html#format) config for temporal fields.


description:
A title for the axis. Shows field name and its function by default.

__Default value:__  derived from the field's name and transformation function applied e.g, "field_name", "SUM(field_name)", "BIN(field_name)", "YEAR(field_name)".


description: An object that specifies the format for parsing the data values.


key: values

description:
The full data set, included inline. This can be an array of objects or primitive values or a string.
Arrays of primitive values are ingested as objects with a `data` property. Strings are parsed according to the specified format type.


key: bind

description:
Establishes a two-way binding between the interval selection and the scales
used within the same view. This allows a user to interactively pan and
zoom the view.


key: empty

description:
By default, all data values are considered to lie within an empty selection.
When set to `none`, empty selections contain no data values.


key: encodings

description:
An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.


key: fields

description:
An array of field names whose values must match for a data tuple to
fall within the selection.


description:
An interval selection also adds a rectangle mark to depict the
extents of the interval. The `mark` property can be used to customize the
appearance of the mark.


key: on

description:
A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).


key: resolve

description:
With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.


key: translate

description:
When truthy, allows a user to interactively move an interval selection
back-and-forth. Can be `true`, `false` (to disable panning), or a
[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)
which must include a start and end event to trigger continuous panning.

__Default value:__ `true`, which corresponds to
`[mousedown, window:mouseup] > window:mousemove!` which corresponds to
clicks and dragging within an interval selection to reposition it.

type: string boolean


key: zoom

description:
When truthy, allows a user to interactively resize an interval selection.
Can be `true`, `false` (to disable zooming), or a [Vega event stream
definition](https://vega.github.io/vega/docs/event-streams/). Currently,
only `wheel` events are supported.

__Default value:__ `true`, which corresponds to `wheel!`.


key: parse

description:
If set to auto (the default), perform automatic type inference to determine the desired data types.
Alternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `"number"`, `"boolean"` or `"date"`).
For example, `"parse": {"modified_on": "date"}` parses the `modified_on` field in each input record a Date value.

For `"date"`, we parse data based using Javascript's [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
For Specific date formats can be provided (e.g., `{foo: 'date:"%m%d%Y"'}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: 'utc:"%m%d%Y"'}`). See more about [UTC time](timeunit.html#utc)


key: property

description:
The JSON property containing the desired data.
This parameter can be used when the loaded JSON file may have surrounding structure or meta-data.
For example `"property": "values.features"` is equivalent to retrieving `json.values.features`
from the loaded JSON object.


key: type

description:
Type of input data: `"json"`, `"csv"`, `"tsv"`.
The default format type is determined by the extension of the file URL.
If no extension is detected, `"json"` will be used by default.


key: height

description:
The height of a visualization.

__Default value:__
- If a view's [`autosize`](size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](scale.html#continuous), the height will be the value of [`config.view.height`](spec.html#config).
- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](spec.html#config).
- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.

__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this represents the height of a single view.

__See also:__ The documentation for [width and height](size.html) contains more examples.


key: width

description:
The width of a visualization.

__Default value:__ This will be determined by the following rules:

- If a view's [`autosize`](size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](scale.html#continuous), the width will be the value of [`config.view.width`](spec.html#config).
- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](spec.html#config).
- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.

__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this represents the width of a single view.

__See also:__ The documentation for [width and height](size.html) contains more examples.


key: Legend

description: Properties of a legend or boolean flag for determining whether to show it.

enum: symbol gradient


key: entryPadding

description: Padding (in pixels) between legend entries in a symbol legend.


key: format

description:
The formatting pattern for labels. This is D3's [number format pattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format) for time field.

See the [format documentation](format.html) for more information.

__Default value:__  derived from [numberFormat](config.html#format) config for quantitative fields and from [timeFormat](config.html#format) config for temporal fields.


key: offset

description:
The offset, in pixels, by which to displace the legend from the edge of the enclosing group or data rectangle.

__Default value:__  `0`


key: orient

description:
The orientation of the legend, which determines how the legend is positioned within the scene. One of "left", "right", "top-left", "top-right", "bottom-left", "bottom-right", "none".

__Default value:__ `"right"`


key: padding

description: The padding, in pixels, between the legend and axis.


key: tickCount

description: The desired number of tick values for quantitative legends.


key: title

description:
A title for the field. If `null`, the title will be removed.

__Default value:__  derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as a part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function will be denoted in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.

__Note__: You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function's options](compile.html#field-title).


description:
The type of the legend. Use `"symbol"` to create a discrete legend and `"gradient"` for a continuous color gradient.

__Default value:__ `"gradient"` for non-binned quantitative fields and temporal fields; `"symbol"` otherwise.


key: values

description: Explicitly set the visible legend values.


key: zindex

description:
A non-positive integer indicating z-index of the legend.
If zindex is 0, legend should be drawn behind all chart elements.
To put them in front, use zindex = 1.


key: cornerRadius

description: Corner radius for the full legend.


key: fillColor

description: Background fill color for the full legend.


key: gradientHeight

description: The height of the gradient, in pixels.


key: gradientLabelBaseline

description: Text baseline for color ramp gradient labels.


key: gradientLabelLimit

description: The maximum allowed length in pixels of color ramp gradient labels.


key: gradientLabelOffset

description: Vertical offset in pixels for color ramp gradient labels.


key: gradientStrokeColor

description: The color of the gradient stroke, can be in hex color code or regular color name.


key: gradientStrokeWidth

description: The width of the gradient stroke, in pixels.


key: gradientWidth

description: The width of the gradient, in pixels.


key: labelAlign

description: The alignment of the legend label, can be left, middle or right.


key: labelBaseline

description: The position of the baseline of legend label, can be top, middle or bottom.


key: labelColor

description: The color of the legend label, can be in hex color code or regular color name.


key: labelFont

description: The font of the legend label.


key: labelFontSize

description:
The font size of legend label.

__Default value:__ `10`.


key: labelLimit

description: Maximum allowed pixel width of axis tick labels.


key: labelOffset

description: The offset of the legend label.


key: offset

description:
The offset, in pixels, by which to displace the legend from the edge of the enclosing group or data rectangle.

__Default value:__  `0`


key: orient

description:
The orientation of the legend, which determines how the legend is positioned within the scene. One of "left", "right", "top-left", "top-right", "bottom-left", "bottom-right", "none".

__Default value:__ `"right"`


key: padding

description: The padding, in pixels, between the legend and axis.


key: shortTimeLabels

description:
Whether month names and weekday names should be abbreviated.

__Default value:__  `false`


key: strokeColor

description: Border stroke color for the full legend.


key: strokeDash

description: Border stroke dash pattern for the full legend.


key: strokeWidth

description: Border stroke width for the full legend.


key: symbolColor

description: The color of the legend symbol,


key: symbolSize

description: The size of the legend symbol, in pixels.


key: symbolStrokeWidth

description: The width of the symbol's stroke.


key: symbolType

description: Default shape type (such as "circle") for legend symbols.


key: titleAlign

description: Horizontal text alignment for legend titles.


key: titleBaseline

description: Vertical text baseline for legend titles.


key: titleColor

description: The color of the legend title, can be in hex color code or regular color name.


key: titleFont

description: The font of the legend title.


key: titleFontSize

description: The font size of the legend title.


key: titleFontWeight

description: The font weight of the legend title.

type: string number


key: titleLimit

description: Maximum allowed pixel width of axis titles.


key: titlePadding

description: The padding, in pixels, between title and legend.


key: data

description: Secondary data source to lookup in.


key: fields

description:
Fields in foreign data to lookup.
If not specified, the entire object is queried.


key: key

description: Key in data to lookup.


key: as

description:
The field or fields for storing the computed formula value.
If `from.fields` is specified, the transform will use the same names for `as`.
If `from.fields` is not specified, `as` has to be a string and we put the whole object into the data under the specified name.


key: default

description:
The default value to use if lookup fails.

__Default value:__ `null`


key: from

description: Secondary data reference.


key: lookup

description: Key in primary data source.


key: Mark

description: All types of primitive marks.

enum: area bar line point text tick rect rule circle square


key: align

description: The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.


key: angle

description: The rotation angle of the text, in degrees.


key: baseline

description:
The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.

__Default value:__ `"middle"`


key: color

description:
Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.

__Default value:__ ■ `"#4682b4"`

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: dx

description: The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: dy

description: The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: fill

description:
Default Fill Color.  This has higher precedence than config.color

__Default value:__ (None)


key: fillOpacity

description:
The fill opacity (value between [0,1]).

__Default value:__ `1`


key: filled

description:
Whether the mark's color should be used as fill color instead of stroke color.

__Default value:__ `true` for all marks except `point` and `false` for `point`.

__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: font

description: The typeface to set the text in (e.g., `"Helvetica Neue"`).


key: fontSize

description: The font size, in pixels.


key: fontStyle

description: The font style (e.g., `"italic"`).


key: fontWeight

description: The font weight (e.g., `"bold"`).


key: interpolate

description:
The line interpolation method to use for line and area marks. One of the following:
- `"linear"`: piecewise linear segments, as in a polyline.
- `"linear-closed"`: close the linear segments to form a polygon.
- `"step"`: alternate between horizontal and vertical segments, as in a step function.
- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.
- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.
- `"basis"`: a B-spline, with control point duplication on the ends.
- `"basis-open"`: an open B-spline; may not intersect the start or end.
- `"basis-closed"`: a closed B-spline, as in a loop.
- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.
- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.
- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.
- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.
- `"monotone"`: cubic interpolation that preserves monotonicity in y.


key: limit

description: The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.


key: opacity

description:
The overall opacity (value between [0,1]).

__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.


key: orient

description:
The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line, 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.


key: radius

description: Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.


key: shape

description:
The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.

__Default value:__ `"circle"`


key: size

description:
The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ `30`


key: stroke

description:
Default Stroke Color.  This has higher precedence than config.color

__Default value:__ (None)


key: strokeDash

description: An array of alternating stroke, space lengths for creating dashed or dotted lines.


key: strokeDashOffset

description: The offset (in pixels) into which to begin drawing with the stroke dash array.


key: strokeOpacity

description:
The stroke opacity (value between [0,1]).

__Default value:__ `1`


key: strokeWidth

description: The stroke width, in pixels.


key: tension

description: Depending on the interpolation type, sets the tension parameter (for line and area marks).


key: text

description: Placeholder text if the `text` channel is not specified


key: theta

description: Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".


key: area

description: Area-Specific Config


key: bar

description: Bar-Specific Config


key: circle

description: Circle-Specific Config


key: line

description: Line-Specific Config


key: mark

description: Mark Config


key: point

description: Point-Specific Config


key: rect

description: Rect-Specific Config


key: rule

description: Rule-Specific Config


key: square

description: Square-Specific Config


description: Text-Specific Config


key: tick

description: Tick-Specific Config


key: align

description: The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.


key: angle

description: The rotation angle of the text, in degrees.


key: baseline

description:
The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.

__Default value:__ `"middle"`


key: clip

description: Whether a mark be clipped to the enclosing group's width and height.


key: color

description:
Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.

__Default value:__ ■ `"#4682b4"`

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: dx

description: The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: dy

description: The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: fill

description:
Default Fill Color.  This has higher precedence than config.color

__Default value:__ (None)


key: fillOpacity

description:
The fill opacity (value between [0,1]).

__Default value:__ `1`


key: filled

description:
Whether the mark's color should be used as fill color instead of stroke color.

__Default value:__ `true` for all marks except `point` and `false` for `point`.

__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: font

description: The typeface to set the text in (e.g., `"Helvetica Neue"`).


key: fontSize

description: The font size, in pixels.


key: fontStyle

description: The font style (e.g., `"italic"`).


key: fontWeight

description: The font weight (e.g., `"bold"`).


key: interpolate

description:
The line interpolation method to use for line and area marks. One of the following:
- `"linear"`: piecewise linear segments, as in a polyline.
- `"linear-closed"`: close the linear segments to form a polygon.
- `"step"`: alternate between horizontal and vertical segments, as in a step function.
- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.
- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.
- `"basis"`: a B-spline, with control point duplication on the ends.
- `"basis-open"`: an open B-spline; may not intersect the start or end.
- `"basis-closed"`: a closed B-spline, as in a loop.
- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.
- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.
- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.
- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.
- `"monotone"`: cubic interpolation that preserves monotonicity in y.


key: limit

description: The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.


key: opacity

description:
The overall opacity (value between [0,1]).

__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.


key: orient

description:
The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line, 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.


key: radius

description: Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.


key: shape

description:
The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.

__Default value:__ `"circle"`


key: size

description:
The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ `30`


key: stroke

description:
Default Stroke Color.  This has higher precedence than config.color

__Default value:__ (None)


key: strokeDash

description: An array of alternating stroke, space lengths for creating dashed or dotted lines.


key: strokeDashOffset

description: The offset (in pixels) into which to begin drawing with the stroke dash array.


key: strokeOpacity

description:
The stroke opacity (value between [0,1]).

__Default value:__ `1`


key: strokeWidth

description: The stroke width, in pixels.


key: style

description:
A string or array of strings indicating the name of custom styles to apply to the mark. A style is a named collection of mark property defaults defined within the [style configuration](mark.html#style-config). If style is an array, later styles will override earlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within the `encoding` will override a style default.

__Default value:__ The mark's name.  For example, a bar mark will have style `"bar"` by default.
__Note:__ Any specified style will augment the default style. For example, a bar mark with `"style": "foo"` will receive from `config.style.bar` and `config.style.foo` (the specified style `"foo"` has higher precedence).


key: tension

description: Depending on the interpolation type, sets the tension parameter (for line and area marks).


key: text

description: Placeholder text if the `text` channel is not specified


key: theta

description: Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".


key: type

description:
The mark type.
One of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,
`"area"`, `"point"`, `"rule"`, and `"text"`.


key: MarkPropFieldDef

description: Field definition of a mark property, which can contain a legend.


key: aggregate

description:
Aggregation function for the field
(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).

__Default value:__ `undefined` (None)


key: bin

description:
A flag for binning a `quantitative` field, or [an object defining binning parameters](bin.html#params).
If `true`, default [binning parameters](bin.html) will be applied.

__Default value:__ `false`


key: field

description:
__Required.__ A string defining the name of the field from which to pull a data value
or an object defining iterated values from the [`repeat`](repeat.html) operator.

__Note:__ `field` is not required if `aggregate` is `count`.


key: legend

description:
An object defining properties of the legend.
If `null`, the legend for the encoding channel will be removed.

__Default value:__ If undefined, default [legend properties](legend.html) are applied.


key: scale

description:
An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

__Default value:__ If undefined, default [scale properties](scale.html) are applied.


key: sort

description:
Sort order for the encoded field.
Supported `sort` values include `"ascending"`, `"descending"` and `null` (no sorting).
For fields with discrete domains, `sort` can also be a [sort field definition object](sort.html#sort-field).

__Default value:__ `"ascending"`


key: timeUnit

description:
Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.
or [a temporal field that gets casted as ordinal](type.html#cast).

__Default value:__ `undefined` (None)


description: The encoded field's type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).


key: empty

description:
By default, all data values are considered to lie within an empty selection.
When set to `none`, empty selections contain no data values.


key: encodings

description:
An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.


key: fields

description:
An array of field names whose values must match for a data tuple to
fall within the selection.


key: nearest

description:
When true, an invisible voronoi diagram is computed to accelerate discrete
selection. The data value _nearest_ the mouse cursor is added to the selection.

See the [nearest transform](nearest.html) documentation for more information.


key: on

description:
A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).


key: resolve

description:
With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.


key: toggle

description:
Controls whether data values should be toggled or only ever inserted into
multi selections. Can be `true`, `false` (for insertion only), or a
[Vega expression](https://vega.github.io/vega/docs/expressions/).

__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,
data values are toggled when a user interacts with the shift-key pressed).

See the [toggle transform](toggle.html) documentation for more information.


key: format

description: An object that specifies the format for parsing the data.


key: name

description: Provide a placeholder name and bind data at runtime.


description: Field to be filtered


key: properties

description:
A set of values that the `field`'s value should be a member of,
for a data item included in the filtered data.


description: time unit for the field to be filtered.


key: aggregate

description:
Aggregation function for the field
(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).

__Default value:__ `undefined` (None)


key: bin

description:
A flag for binning a `quantitative` field, or [an object defining binning parameters](bin.html#params).
If `true`, default [binning parameters](bin.html) will be applied.

__Default value:__ `false`


key: field

description:
__Required.__ A string defining the name of the field from which to pull a data value
or an object defining iterated values from the [`repeat`](repeat.html) operator.

__Note:__ `field` is not required if `aggregate` is `count`.


description: The sort order. One of `"ascending"` (default) or `"descending"`.


key: type


key: axis

description:
An object defining properties of axis's gridlines, ticks and labels.
If `null`, the axis for the encoding channel will be removed.

__Default value:__ If undefined, default [axis properties](axis.html) are applied.


key: scale

description:
An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

__Default value:__ If undefined, default [scale properties](scale.html) are applied.


key: sort

description:
Sort order for the encoded field.
Supported `sort` values include `"ascending"`, `"descending"` and `null` (no sorting).
For fields with discrete domains, `sort` can also be a [sort field definition object](sort.html#sort-field).

__Default value:__ `"ascending"`


key: stack

description:
Type of stacking offset if the field should be stacked.
`stack` is only applicable for `x` and `y` channels with continuous domains.
For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.

`stack` can be one of the following values:
- `"zero"`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](stack.html#bar) and [area](stack.html#area) chart).
- `"normalize"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](stack.html#normalized). <br/>
-`"center"` - stacking with center baseline (for [streamgraph](stack.html#streamgraph)).
- `null` - No-stacking. This will produce layered [bar](stack.html#layered-bar-chart) and area chart.

__Default value:__ `zero` for plots with all of the following conditions are true:
(1) the mark is `bar` or `area`;
(2) the stacked measure channel (x or y) has a linear scale;
(3) At least one of non-position channels mapped to an unaggregated field that is different from x and y.  Otherwise, `null` by default.


key: timeUnit

description:
Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.
or [a temporal field that gets casted as ordinal](type.html#cast).

__Default value:__ `undefined` (None)


key: category

description: Default range for _nominal_ (categorical) fields.


key: diverging

description: Default range for diverging _quantitative_ fields.


key: heatmap

description: Default range for _quantitative_ heatmaps.


key: ordinal

description: Default range for _ordinal_ fields.


key: ramp

description: Default range for _quantitative_ and _temporal_ fields.


key: symbol

description: Default range palette for the `shape` channel.


description: Field to be filtered


key: range

description:
An array of inclusive minimum and maximum values
for a field value of a data item to be included in the filtered data.


description: time unit for the field to be filtered.


key: column

description: Horizontal repeated views.


key: row

description: Vertical repeated views.


key: RepeatRef

description: Reference to a repeated value.

enum: row column


key: Resolve

description: Defines how scales, axes, and legends from different specs should be combined. Resolve is a mapping from `scale`, `axis`, and `legend` to a mapping from channels to resolutions.


key: base

description: The logarithm base of the `log` scale (default `10`).


key: clamp

description:
If `true`, values that exceed the data domain are clamped to either the minimum or maximum range value

__Default value:__ derived from the [scale config](config.html#scale-config)'s `clamp` (`true` by default).


key: domain

description:
Customized domain values.

For _quantitative_ fields, `domain` can take the form of a two-element array with minimum and maximum values.  [Piecewise scales](scale.html#piecewise) can be created by providing a `domain` with more than two entries.
If the input field is aggregated, `domain` can also be a string value `"unaggregated"`, indicating that the domain should include the raw data values prior to the aggregation.

For _temporal_ fields, `domain` can be a two-element array minimum and maximum values, in the form of either timestamps or the [DateTime definition objects](types.html#datetime).

For _ordinal_ and _nominal_ fields, `domain` can be an array that lists valid input values.

The `selection` property can be used to [interactively determine](selection.html#scale-domains) the scale domain.


key: exponent

description: The exponent of the `pow` scale.


key: interpolate

description: The interpolation method for range values. By default, a general interpolator for numbers, dates, strings and colors (in RGB space) is used. For color ranges, this property allows interpolation in alternative color spaces. Legal values include `rgb`, `hsl`, `hsl-long`, `lab`, `hcl`, `hcl-long`, `cubehelix` and `cubehelix-long` ('-long' variants use longer paths in polar coordinate spaces). If object-valued, this property accepts an object with a string-valued _type_ property and an optional numeric _gamma_ property applicable to rgb and cubehelix interpolators. For more, see the [d3-interpolate documentation](https://github.com/d3/d3-interpolate).


key: nice

description:
Extending the domain so that it starts and ends on nice round values. This method typically modifies the scale's domain, and may only extend the bounds to the nearest round value. Nicing is useful if the domain is computed from data and may be irregular. For example, for a domain of _[0.201479…, 0.996679…]_, a nice domain might be _[0.2, 1.0]_.

For quantitative scales such as linear, `nice` can be either a boolean flag or a number. If `nice` is a number, it will represent a desired tick count. This allows greater control over the step size used to extend the bounds, guaranteeing that the returned ticks will exactly cover the domain.

For temporal fields with time and utc scales, the `nice` value can be a string indicating the desired time interval. Legal values are `"millisecond"`, `"second"`, `"minute"`, `"hour"`, `"day"`, `"week"`, `"month"`, and `"year"`. Alternatively, `time` and `utc` scales can accept an object-valued interval specifier of the form `{"interval": "month", "step": 3}`, which includes a desired number of interval steps. Here, the domain would snap to quarter (Jan, Apr, Jul, Oct) boundaries.

__Default value:__ `true` for unbinned _quantitative_ fields; `false` otherwise.

required: interval step


key: padding

description:
For _[continuous](scale.html#continuous)_ scales, expands the scale domain to accommodate the specified number of pixels on each of the scale range. The scale range must represent pixels for this parameter to function as intended. Padding adjustment is performed prior to all other adjustments, including the effects of the zero, nice, domainMin, and domainMax properties.

For _[band](scale.html#band)_ scales, shortcut for setting `paddingInner` and `paddingOuter` to the same value.

For _[point](scale.html#point)_ scales, alias for `paddingOuter`.

__Default value:__ For _continuous_ scales, derived from the [scale config](scale.html#config)'s `continuousPadding`.
For _band and point_ scales, see `paddingInner` and `paddingOuter`.


key: paddingInner

description:
The inner padding (spacing) within each band step of band scales, as a fraction of the step size. This value must lie in the range [0,1].

For point scale, this property is invalid as point scales do not have internal band widths (only step sizes between bands).

__Default value:__ derived from the [scale config](scale.html#config)'s `bandPaddingInner`.


key: paddingOuter

description:
The outer padding (spacing) at the ends of the range of band and point scales,
as a fraction of the step size. This value must lie in the range [0,1].

__Default value:__ derived from the [scale config](scale.html#config)'s `bandPaddingOuter` for band scales and `pointPadding` for point scales.


description:
The range of the scale. One of:

- A string indicating a [pre-defined named scale range](scale.html#range-config) (e.g., example, `"symbol"`, or `"diverging"`).

- For [continuous scales](scale.html#continuous), two-element array indicating  minimum and maximum values, or an array with more than two entries for specifying a [piecewise scale](scale.html#piecewise).

- For [discrete](scale.html#discrete) and [discretizing](scale.html#discretizing) scales, an array of desired output values.

__Notes:__

1) For [sequential](scale.html#sequential), [ordinal](scale.html#ordinal), and discretizing color scales, you can also specify a color [`scheme`](scale.html#scheme) instead of `range`.

2) Any directly specified `range` for `x` and `y` channels will be ignored. Range can be customized via the view's corresponding [size](size.html) (`width` and `height`) or via [range steps and paddings properties](#range-step) for [band](#band) and [point](#point) scales.


key: rangeStep

description:
The distance between the starts of adjacent bands or points in [band](scale.html#band) and [point](scale.html#point) scales.

If `rangeStep` is `null` or if the view contains the scale's corresponding [size](size.html) (`width` for `x` scales and `height` for `y` scales), `rangeStep` will be automatically determined to fit the size of the view.

__Default value:__  derived the [scale config](config.html#scale-config)'s `textXRangeStep` (`90` by default) for x-scales of `text` marks and `rangeStep` (`21` by default) for x-scales of other marks and y-scales.

__Warning__: If `rangeStep` is `null` and the cardinality of the scale's domain is higher than `width` or `height`, the rangeStep might become less than one pixel and the mark might not appear correctly.


key: round

description:
If `true`, rounds numeric output values to integers. This can be helpful for snapping to the pixel grid.

__Default value:__ `false`.


key: scheme

description:
A string indicating a color [scheme](scale.html#scheme) name (e.g., `"category10"` or `"viridis"`) or a [scheme parameter object](scale.html#scheme-params).

Discrete color schemes may be used with [discrete](scale.html#discrete) or [discretizing](scale.html#discretizing) scales. Continuous color schemes are intended for use with [sequential](scales.html#sequential) scales.

For the full list of supported scheme, please refer to the [Vega Scheme](https://vega.github.io/vega/docs/schemes/#reference) reference.


key: type

description:
The type of scale.  Vega-Lite supports the following categories of scale types:

1) [**Continuous Scales**](scale.html#continuous) -- mapping continuous domains to continuous output ranges ([`"linear"`](scale.html#linear), [`"pow"`](scale.html#pow), [`"sqrt"`](scale.html#sqrt), [`"log"`](scale.html#log), [`"time"`](scale.html#time), [`"utc"`](scale.html#utc), [`"sequential"`](scale.html#sequential)).

2) [**Discrete Scales**](scale.html#discrete) -- mapping discrete domains to discrete ([`"ordinal"`](scale.html#ordinal)) or continuous ([`"band"`](scale.html#band) and [`"point"`](scale.html#point)) output ranges.

3) [**Discretizing Scales**](scale.html#discretizing) -- mapping continuous domains to discrete output ranges ([`"bin-linear"`](scale.html#bin-linear) and [`"bin-ordinal"`](scale.html#bin-ordinal)).

__Default value:__ please see the [scale type table](scale.html#type).


key: zero

description:
If `true`, ensures that a zero baseline value is included in the scale domain.

__Default value:__ `true` for x and y channels if the quantitative field is not binned and no custom `domain` is provided; `false` otherwise.

__Note:__ Log, time, and utc scales do not support `zero`.


key: bandPaddingInner

description:
Default inner padding for `x` and `y` band-ordinal scales.

__Default value:__ `0.1`


key: bandPaddingOuter

description:
Default outer padding for `x` and `y` band-ordinal scales.
If not specified, by default, band scale's paddingOuter is paddingInner/2.


description: If true, values that exceed the data domain are clamped to either the minimum or maximum range value


key: continuousPadding

description:
Default padding for continuous scales.

__Default:__ `5` for continuous x-scale of a vertical bar and continuous y-scale of a horizontal bar.; `0` otherwise.


key: maxBandSize

description:
The default max value for mapping quantitative fields to bar's size/bandSize.

If undefined (default), we will use the scale's `rangeStep` - 1.


key: maxFontSize

description:
The default max value for mapping quantitative fields to text's size/fontSize.

__Default value:__ `40`


key: maxOpacity

description:
Default max opacity for mapping a field to opacity.

__Default value:__ `0.8`


key: maxSize

description: Default max value for point size scale.


key: maxStrokeWidth

description:
Default max strokeWidth for strokeWidth  (or rule/line's size) scale.

__Default value:__ `4`


key: minBandSize

description:
The default min value for mapping quantitative fields to bar and tick's size/bandSize scale with zero=false.

__Default value:__ `2`


key: minFontSize

description:
The default min value for mapping quantitative fields to tick's size/fontSize scale with zero=false

__Default value:__ `8`


key: minOpacity

description:
Default minimum opacity for mapping a field to opacity.

__Default value:__ `0.3`


key: minSize

description:
Default minimum value for point size scale with zero=false.

__Default value:__ `9`


key: minStrokeWidth

description:
Default minimum strokeWidth for strokeWidth (or rule/line's size) scale with zero=false.

__Default value:__ `1`


key: pointPadding

description:
Default outer padding for `x` and `y` point-ordinal scales.

__Default value:__ `0.5`


key: rangeStep

description:
Default range step for band and point scales of (1) the `y` channel
and (2) the `x` channel when the mark is not `text`.

__Default value:__ `21`


key: round

description:
If true, rounds numeric output values to integers.
This can be helpful for snapping to the pixel grid.
(Only available for `x`, `y`, and `size` scales.)


key: textXRangeStep

description:
Default range step for `x` band and point scales of text marks.

__Default value:__ `90`


key: useUnaggregatedDomain

description:
Use the source data range before aggregation as scale domain instead of aggregated data for aggregate axis.

This is equivalent to setting `domain` to `"unaggregate"` for aggregated _quantitative_ fields by default.

This property only works with aggregate functions that produce values within the raw data domain (`"mean"`, `"average"`, `"median"`, `"q1"`, `"q3"`, `"min"`, `"max"`). For other aggregations that produce values outside of the raw data domain (e.g. `"count"`, `"sum"`), this property is ignored.

__Default value:__ `false`


key: aggregate

description:
Aggregation function for the field
(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).

__Default value:__ `undefined` (None)


key: bin

description:
A flag for binning a `quantitative` field, or [an object defining binning parameters](bin.html#params).
If `true`, default [binning parameters](bin.html) will be applied.

__Default value:__ `false`


key: field

description:
__Required.__ A string defining the name of the field from which to pull a data value
or an object defining iterated values from the [`repeat`](repeat.html) operator.

__Note:__ `field` is not required if `aggregate` is `count`.


key: scale

description:
An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

__Default value:__ If undefined, default [scale properties](scale.html) are applied.


key: sort

description:
Sort order for the encoded field.
Supported `sort` values include `"ascending"`, `"descending"` and `null` (no sorting).
For fields with discrete domains, `sort` can also be a [sort field definition object](sort.html#sort-field).

__Default value:__ `"ascending"`


key: timeUnit

description:
Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.
or [a temporal field that gets casted as ordinal](type.html#cast).

__Default value:__ `undefined` (None)


key: type

description: The encoded field's type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).


key: extent

description: For sequential and diverging schemes only, determines the extent of the color range to use. For example `[0.2, 1]` will rescale the color scheme such that color values in the range _[0, 0.2)_ are excluded from the scheme.


key: name

description:
A color scheme name for sequential/ordinal scales (e.g., `"category10"` or `"viridis"`).

For the full list of supported scheme, please refer to the [Vega Scheme](https://vega.github.io/vega/docs/schemes/#reference) reference.


key: interval

description:
The default definition for an [`interval`](selection.html#type) selection. All properties and transformations
for an interval selection definition (except `type`) may be specified here.

For instance, setting `interval` to `{"translate": false}` disables the ability to move
interval selections by default.


key: multi

description:
The default definition for a [`multi`](selection.html#type) selection. All properties and transformations
for a multi selection definition (except `type`) may be specified here.

For instance, setting `multi` to `{"toggle": "event.altKey"}` adds additional values to
multi selections when clicking with the alt-key pressed by default.


key: single

description:
The default definition for a [`single`](selection.html#type) selection. All properties and transformations
  for a single selection definition (except `type`) may be specified here.

For instance, setting `single` to `{"on": "dblclick"}` populates single selections on double-click by default.


description:
The field name to extract selected values for, when a selection is [projected](project.html)
over multiple fields or encodings.


key: selection

description: The name of a selection.


key: encoding

description:
The encoding channel to extract selected values for, when a selection is [projected](project.html)
over multiple fields or encodings.


description: Filter using a selection name.


key: bind

description:
Establish a two-way binding between a single selection and input elements
(also known as dynamic query widgets). A binding takes the form of
Vega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)
or can be a mapping between projected field/encodings and binding definitions.

See the [bind transform](bind.html) documentation for more information.


key: empty

description:
By default, all data values are considered to lie within an empty selection.
When set to `none`, empty selections contain no data values.


key: encodings

description:
An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.


key: fields

description:
An array of field names whose values must match for a data tuple to
fall within the selection.


key: nearest

description:
When true, an invisible voronoi diagram is computed to accelerate discrete
selection. The data value _nearest_ the mouse cursor is added to the selection.

See the [nearest transform](nearest.html) documentation for more information.


key: on

description:
A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).


key: resolve

description:
With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.


key: field

description:
The data [field](field.html) to sort by.

__Default value:__ If unspecified, defaults to the field specified in the outer data reference.


key: op

description:
An [aggregate operation](aggregate.html#ops) to perform on the field prior to sorting (e.g., `"count"`, `"mean"` and `"median"`).
This property is required in cases where the sort field and the data reference field do not match.
The input data objects will be aggregated, grouped by the encoded data field.

For a full list of operations, please see the documentation for [aggregate](aggregate.html#ops).


key: order

description: The sort order. One of `"ascending"` (default) or `"descending"`.


key: align

description: The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.


key: angle

description: The rotation angle of the text, in degrees.


key: baseline

description:
The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.

__Default value:__ `"middle"`


key: color

description:
Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.

__Default value:__ ■ `"#4682b4"`

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: dx

description: The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: dy

description: The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: fill

description:
Default Fill Color.  This has higher precedence than config.color

__Default value:__ (None)


key: fillOpacity

description:
The fill opacity (value between [0,1]).

__Default value:__ `1`


key: filled

description:
Whether the mark's color should be used as fill color instead of stroke color.

__Default value:__ `true` for all marks except `point` and `false` for `point`.

__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: font

description: The typeface to set the text in (e.g., `"Helvetica Neue"`).


key: fontSize

description: The font size, in pixels.


key: fontStyle

description: The font style (e.g., `"italic"`).


key: fontWeight

description: The font weight (e.g., `"bold"`).


key: interpolate

description:
The line interpolation method to use for line and area marks. One of the following:
- `"linear"`: piecewise linear segments, as in a polyline.
- `"linear-closed"`: close the linear segments to form a polygon.
- `"step"`: alternate between horizontal and vertical segments, as in a step function.
- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.
- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.
- `"basis"`: a B-spline, with control point duplication on the ends.
- `"basis-open"`: an open B-spline; may not intersect the start or end.
- `"basis-closed"`: a closed B-spline, as in a loop.
- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.
- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.
- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.
- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.
- `"monotone"`: cubic interpolation that preserves monotonicity in y.


key: limit

description: The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.


key: opacity

description:
The overall opacity (value between [0,1]).

__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.


key: orient

description:
The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line, 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.


key: radius

description: Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.


key: shape

description:
The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.

__Default value:__ `"circle"`


key: shortTimeLabels

description: Whether month names and weekday names should be abbreviated.


key: size

description:
The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ `30`


key: stroke

description:
Default Stroke Color.  This has higher precedence than config.color

__Default value:__ (None)


key: strokeDash

description: An array of alternating stroke, space lengths for creating dashed or dotted lines.


key: strokeDashOffset

description: The offset (in pixels) into which to begin drawing with the stroke dash array.


key: strokeOpacity

description:
The stroke opacity (value between [0,1]).

__Default value:__ `1`


key: strokeWidth

description: The stroke width, in pixels.


key: tension

description: Depending on the interpolation type, sets the tension parameter (for line and area marks).


key: text

description: Placeholder text if the `text` channel is not specified


key: theta

description: Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".


key: aggregate

description:
Aggregation function for the field
(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).

__Default value:__ `undefined` (None)


key: bin

description:
A flag for binning a `quantitative` field, or [an object defining binning parameters](bin.html#params).
If `true`, default [binning parameters](bin.html) will be applied.

__Default value:__ `false`


key: field

description:
__Required.__ A string defining the name of the field from which to pull a data value
or an object defining iterated values from the [`repeat`](repeat.html) operator.

__Note:__ `field` is not required if `aggregate` is `count`.


key: format

description: The [formatting pattern](format.html) for a text field. If not defined, this will be determined automatically.


key: timeUnit

description:
Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.
or [a temporal field that gets casted as ordinal](type.html#cast).

__Default value:__ `undefined` (None)


key: type

description: The encoded field's type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).


key: align

description: The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.


key: angle

description: The rotation angle of the text, in degrees.


key: bandSize

description:
The width of the ticks.

__Default value:__  2/3 of rangeStep.


key: baseline

description:
The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.

__Default value:__ `"middle"`


key: color

description:
Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.

__Default value:__ ■ `"#4682b4"`

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: dx

description: The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: dy

description: The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.


key: fill

description:
Default Fill Color.  This has higher precedence than config.color

__Default value:__ (None)


key: fillOpacity

description:
The fill opacity (value between [0,1]).

__Default value:__ `1`


key: filled

description:
Whether the mark's color should be used as fill color instead of stroke color.

__Default value:__ `true` for all marks except `point` and `false` for `point`.

__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.

__Note:__ This property cannot be used in a [style config](mark.html#style-config).


key: font

description: The typeface to set the text in (e.g., `"Helvetica Neue"`).


key: fontSize

description: The font size, in pixels.


key: fontStyle

description: The font style (e.g., `"italic"`).


key: fontWeight

description: The font weight (e.g., `"bold"`).


key: interpolate

description:
The line interpolation method to use for line and area marks. One of the following:
- `"linear"`: piecewise linear segments, as in a polyline.
- `"linear-closed"`: close the linear segments to form a polygon.
- `"step"`: alternate between horizontal and vertical segments, as in a step function.
- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.
- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.
- `"basis"`: a B-spline, with control point duplication on the ends.
- `"basis-open"`: an open B-spline; may not intersect the start or end.
- `"basis-closed"`: a closed B-spline, as in a loop.
- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.
- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.
- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.
- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.
- `"monotone"`: cubic interpolation that preserves monotonicity in y.


key: limit

description: The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.


key: opacity

description:
The overall opacity (value between [0,1]).

__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.


key: orient

description:
The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line, 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.


key: radius

description: Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.


key: shape

description:
The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.

__Default value:__ `"circle"`


key: size

description:
The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ `30`


key: stroke

description:
Default Stroke Color.  This has higher precedence than config.color

__Default value:__ (None)


key: strokeDash

description: An array of alternating stroke, space lengths for creating dashed or dotted lines.


key: strokeDashOffset

description: The offset (in pixels) into which to begin drawing with the stroke dash array.


key: strokeOpacity

description:
The stroke opacity (value between [0,1]).

__Default value:__ `1`


key: strokeWidth

description: The stroke width, in pixels.


key: tension

description: Depending on the interpolation type, sets the tension parameter (for line and area marks).


key: text

description: Placeholder text if the `text` channel is not specified


key: theta

description: Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".


key: thickness

description:
Thickness of the tick mark.

__Default value:__  `1`


key: as

description: The output field to write the timeUnit value.


key: field

description: The data field to apply time unit.


key: timeUnit

description: The timeUnit.


key: anchor

description:
The anchor position for placing the title. One of `"start"`, `"middle"`, or `"end"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title.

__Default value:__ `"middle"` for [single](spec.html) and [layered](layer.html) views.
`"start"` for other composite views.

__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only customizable only for [single](spec.html) and [layered](layer.html) views.  For other composite views, `anchor` is always `"start"`.


key: offset

description: The orthogonal offset in pixels by which to displace the title from its position along the edge of the chart.


key: orient

description: The orientation of the title relative to the chart. One of `"top"` (the default), `"bottom"`, `"left"`, or `"right"`.


key: style

description:
A [mark style property](config.html#style) to apply to the title text mark.

__Default value:__ `"group-title"`.


description: The title text.


key: $schema

description: URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.

format: uri


key: autosize

description:
Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.
Object values can additionally specify parameters for content sizing and automatic resizing.
`"fit"` is only supported for single and layered views that don't use `rangeStep`.

__Default value__: `pad`


key: background

description:
CSS color property to use as the background of visualization.

__Default value:__ none (transparent)


key: config

description: Vega-Lite configuration object.  This property can only be defined at the top-level of a specification.


key: data

description: An object describing the data source


key: description

description: Description of this mark for commenting purpose.


key: encoding

description: A key-value mapping between encoding channels and definition of fields.


key: height

description:
The height of a visualization.

__Default value:__
- If a view's [`autosize`](size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](scale.html#continuous), the height will be the value of [`config.view.height`](spec.html#config).
- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](spec.html#config).
- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.

__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this represents the height of a single view.

__See also:__ The documentation for [width and height](size.html) contains more examples.


key: mark

description:
A string describing the mark type (one of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,
`"area"`, `"point"`, `"rule"`, and `"text"`) or a [mark definition object](mark.html#mark-def).


key: name

description: Name of the visualization for later reference.


key: padding

description:
The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.
If an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.

__Default value__: `5`


key: selection

description: A key-value mapping between selection names and definitions.


key: title

description: Title for the plot.


key: transform

description: An array of data transformations such as filter and new field calculation.


key: width

description:
The width of a visualization.

__Default value:__ This will be determined by the following rules:

- If a view's [`autosize`](size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](scale.html#continuous), the width will be the value of [`config.view.width`](spec.html#config).
- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](spec.html#config).
- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.

__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this represents the width of a single view.

__See also:__ The documentation for [width and height](size.html) contains more examples.


key: facet

description: An object that describes mappings between `row` and `column` channels and their field definitions.


key: resolve

description: Scale, axis, and legend resolutions for facets.


key: spec

description: A specification of the view that gets faceted.


key: $schema


key: autosize


key: background


key: config


key: data

description: An object describing the data source


key: description


key: hconcat

description: A list of views that should be concatenated and put into a row.


description: Scale, axis, and legend resolutions for horizontally concatenated charts.


key: height


key: layer

description:
Layer or single view specifications to be layered.

__Note__: Specifications inside `layer` cannot use `row` and `column` channels as layering facet specifications is not allowed.


key: name


key: padding


description: Scale, axis, and legend resolutions for layers.


key: title

description: Title for the plot.


key: transform


key: width


key: repeat

description: An object that describes what fields should be repeated into views that are laid out as a `row` or `column`.


key: resolve

description: Scale and legend resolutions for repeated charts.


description: URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.


description:
Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.
Object values can additionally specify parameters for content sizing and automatic resizing.
`"fit"` is only supported for single and layered views that don't use `rangeStep`.

__Default value__: `pad`


description:
CSS color property to use as the background of visualization.

__Default value:__ none (transparent)


description: Vega-Lite configuration object.  This property can only be defined at the top-level of a specification.


description: An object describing the data source


description: Description of this mark for commenting purpose.


description: Scale, axis, and legend resolutions for vertically concatenated charts.


key: vconcat

description: A list of views that should be concatenated and put into a column.


key: feature

description:
The name of the TopoJSON object set to convert to a GeoJSON feature collection.
For example, in a map of the world, there may be an object set named `"countries"`.
Using the feature property, we can extract this set and generate a GeoJSON feature object for each country.


key: mesh

description:
The name of the TopoJSON object set to convert to mesh.
Similar to the `feature` option, `mesh` extracts a named TopoJSON object set.
  Unlike the `feature` option, the corresponding geo data is returned as a single, unified mesh instance, not as individual GeoJSON features.
Extracting a mesh is useful for more efficiently drawing borders or other geographic elements that you do not need to associate with specific regions such as individual countries, states or counties.


key: parse

description:
If set to auto (the default), perform automatic type inference to determine the desired data types.
Alternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `"number"`, `"boolean"` or `"date"`).
For example, `"parse": {"modified_on": "date"}` parses the `modified_on` field in each input record a Date value.

For `"date"`, we parse data based using Javascript's [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).
For Specific date formats can be provided (e.g., `{foo: 'date:"%m%d%Y"'}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: 'utc:"%m%d%Y"'}`). See more about [UTC time](timeunit.html#utc)


key: type

description:
Type of input data: `"json"`, `"csv"`, `"tsv"`.
The default format type is determined by the extension of the file URL.
If no extension is detected, `"json"` will be used by default.


key: Type

description:
Constants and utilities for data type
 Data type based on level of measurement

enum: quantitative ordinal temporal nominal


key: format

description: An object that specifies the format for parsing the data file.


key: url

description:
An URL from which to load the data set. Use the `format.type` property
to ensure the loaded data is correctly parsed.


key: countTitle

description:
Default axis and legend title for count fields.

__Default value:__ `'Number of Records'`.


key: fieldTitle

description:
Defines how Vega-Lite generates title for fields.  There are three possible styles:
- `"verbal"` (Default) - displays function in a verbal style (e.g., "Sum of field", "Year-month of date", "field (binned)").
- `"function"` - displays function using parentheses and capitalized texts (e.g., "SUM(field)", "YEARMONTH(date)", "BIN(field)").
- `"plain"` - displays only the field name without functions (e.g., "field", "date", "field").


key: invalidValues

description:
Defines how Vega-Lite should handle invalid values (`null` and `NaN`).
- If set to `"filter"` (default), all data items with null values are filtered.
- If `null`, all data items are included. In this case, invalid values will be interpreted as zeroes.


key: numberFormat

description: D3 Number format for axis labels and text tables. For example "s" for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).


key: scale

description: Scale configuration determines default properties for all [scales](scale.html). For a full list of scale configuration options, please see the [corresponding section of the scale documentation](scale.html#config).


key: selection

description: An object hash for defining default properties for each type of selections.


key: stack

description: Default stack offset for stackable mark.


key: timeFormat

description:
Default datetime format for axis and legend labels. The format can be set directly on each axis and legend. Use [D3's time format pattern](https://github.com/d3/d3-time-format#locale_format).

__Default value:__ `'%b %d, %Y'`.


key: view

description: Default properties for [single view plots](spec.html#single).


key: ValueDef

description: Definition object for a constant value of an encoding channel.


key: value

description: A constant value in visual domain (e.g., `"red"` / "#0099ff" for color, values between `0` to `1` for opacity).


key: MarkPropValueDefWithCondition

description:
A ValueDef with Condition<ValueDef | FieldDef>
{
   condition: {field: ...} | {value: ...},
   value: ...,
}


key: condition

description: A field definition or one or more value definition(s) with a selection predicate.


description: A constant value in visual domain.


key: TextValueDefWithCondition


key: VgAxisBase

description:
Base object for Vega's Axis and Axis Config.
All of these properties are both properties of Vega's Axis and Axis Config.

type: boolean number


key: domain

description:
A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.

__Default value:__ `true`


key: grid

description:
A boolean flag indicating if grid lines should be included as part of the axis

__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not binned; otherwise, `false`.