Repeat a View
Edit this pageThe repeat
operator is part of Vega-Lite’s view composition. It provides a shortcut that creates a view for each entry in an array of fields. This operator generates multiple plots like facet
. However, unlike facet
it allows full replication of a data set in each view.
Documentation Overview
Repeat Operator
To repeat a view, define what fields should be used for each entry. Then define the repeated view in spec
with a reference to a repeated field ({"repeat": ...}
).
{
"repeat": {
... // Repeat definition
},
"spec": ... // Specification
}
In addition to common properties of a view specification, a repeat specification has the following properties:
Property | Type | Description |
---|---|---|
repeat | Any | |
spec | Any | |
columns | Any |
Row/Column/Layer Repeat Mapping
The repeat
property can be an object with at least one of "row"
, "column"
and "layer"
properties, which define the list of fields that should be repeated into a row, a column, or a layer.
Note that when you repeat views into layers, the views are superimposed. Even if different layers use different colors, Vega-Lite will not generate a legend and not stack marks such as bars or areas. If you want a legend or stack different fields, use the fold transform to convert your data to long form and then use a color encoding.
Property | Type | Description |
---|---|---|
row | String[] |
An array of fields to be repeated vertically. |
column | String[] |
An array of fields to be repeated horizontally. |
Examples
Repeated Line Charts
For instance, you can use this operator to quickly create an overview over the trends in multiple variables.
Note how the field for the y channel refers to a repeated field.
"y": {
"field": {"repeat": "repeat"}
...
},
Multi-series Line Chart with Repeated Layers
You can also use repeat
with layer
to create a multi-series line chart. Here we map a repeater field as data value (datum
) for the color encoding.
Repeated Histogram (Wrapped)
Scatterplot Matrix (SPLOM)
Repeat can be used to create a scatterplot matrix (SPLOM), where each cell shows a different 2D projection of the same data table. Here, we define both row
and column
.
You can also check the interactive SPLOM example.
Resolve
The default resolutions for repeat are independent scales and axes for position channels and shared scales and legends for all other channels. Currently, Vega-Lite does not support shared axes for repeated views.
Repeat Configuration
Since repeat is a shorthand for concatenation, the concat configuration is also used for repeated views.
// Top-level View Specification
{
...,
"config": { // Configuration Object
"concat": { // - Concat Configuration
"spacing": ...,
"columns": ...,
},
...
}
}
The repeat configuration supports the following properties:
Property | Type | Description |
---|---|---|
columns | Number |
The number of columns to include in the view composition layout. Default value: Note: 1) This property is only for:
2) Setting the |
spacing | Number |
The default spacing in pixels between composed sub-views. Default value: |