Skip to contents

Add a parameter for a interval selection to a spec


  name = NULL,
  select = NULL,
  bind = NULL,
  value = NULL,
  clear = NULL,
  encodings = NULL,
  mark = NULL,
  on = NULL,
  resolve = NULL,
  translate = NULL,
  zoom = NULL,
  .object = NULL



An input vega-lite spec


Required. A unique name for the selection parameter. Selection names should be valid JavaScript identifiers: they should contain only alphanumeric characters (or "$", or "_") and may not start with a digit. Reserved keywords that may not be used as parameter names are "datum", "event", "item", and "parent".


Determines the default event processing and data query for the selection. Vega-Lite currently supports two selection types:

  • "point" -- to select multiple discrete data values; the first value is selected on click and additional values toggled on shift-click.

  • "interval" -- to select a continuous range of data values on drag.


When set, a selection is populated by input elements (also known as dynamic query widgets) or by interacting with the corresponding legend. Direct manipulation interaction is disabled by default; to re-enable it, set the selection's on property.

Legend bindings are restricted to selections that only specify a single field or encoding.

Query widget binding takes the form of Vega's input element binding definition or can be a mapping between projected field/encodings and binding definitions.

See also: bind documentation.


Initialize the selection with a mapping between projected channels or field names and initial values.

See also: init documentation.


Clears the selection, emptying it of all values. This property can be a Event Stream or false to disable clear.

Default value: dblclick.

See also: clear examples in the documentation.


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

See also: The projection with encodings and fields section in the documentation.


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.

See also: mark examples in the documentation.


A Vega event stream (object or selector) that triggers the selection. For interval selections, the event stream must specify a start and end.

See also: on examples in the documentation.


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.

One of:

  • "global" -- only one brush exists for the entire SPLOM. When the user begins to drag, any previous brushes are cleared, and a new one is constructed.

  • "union" -- each cell contains its own brush, and points are highlighted if they lie within any of these individual brushes.

  • "intersect" -- each cell contains its own brush, and points are highlighted only if they fall within all of these individual brushes.

Default value: global.

See also: resolve examples in the documentation.


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 which must include a start and end event to trigger continuous panning. Discrete panning (e.g., pressing the left/right arrow keys) will be supported in future versions.

Default value: true, which corresponds to

[mousedown, window:mouseup] > window:mousemove!

. This default allows users to clicks and drags within an interval selection to reposition it.

See also: translate examples in the documentation.


When truthy, allows a user to interactively resize an interval selection. Can be true, false (to disable zooming), or a Vega event stream definition. Currently, only wheel events are supported, but custom event streams can still be used to specify filters, debouncing, and throttling. Future versions will expand the set of events that can trigger this transformation.

Default value: true, which corresponds to wheel!. This default allows users to use the mouse wheel to resize an interval selection.

See also: zoom examples in the documentation.


Directly input an object, rather than creating one via the other arguments. Should not be used in conjunction with the other arguments other than spec. Objects can be of type: SelectionParameter


A modified Vega-Lite Spec