Repeat a View

Edit this page

The 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 in the row or columns. Then define the repeated view in spec with a reference to a repeated field ({"repeat": ...}).

  "repeat": {
    ... // Repeat definition
  "spec": ... // Specification

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": "column"}

In addition to common properties of a view specification, a repeat specification has the following properties:

Property Type Description
repeat Repeat

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

resolve Resolve

Scale and legend resolutions for repeated charts.

The repeat property is an object with two optional properties. They define the list of fields that should be repeated into a row or column.

Property Type Description
column String[]

Horizontal repeated views.

row String[]

Vertical repeated views.

Example: Repeated Histogram

Example: 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.


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.