Skip to contents

Add a parameter for a point selection to a spec


  name = NULL,
  select = NULL,
  bind = NULL,
  value = NULL,
  clear = NULL,
  encodings = NULL,
  fields = NULL,
  nearest = NULL,
  on = NULL,
  resolve = NULL,
  toggle = 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 array of field names whose values must match for a data tuple to fall within the selection.

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


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

Default value: false, which means that data values must be interacted with directly (e.g., clicked on) to be added to the selection.

See also: nearest examples 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.


Controls whether data values should be toggled (inserted or removed from a point selection) or only ever inserted into multi selections.

One of:

  • true -- the default behavior, which corresponds to "event.shiftKey". As a result, data values are toggled when the user interacts with the shift-key pressed.

  • false -- disables toggling behaviour; as the user interacts, data values are only inserted into the multi selection and never removed.

  • A Vega expression which is re-evaluated as the user interacts. If the expression evaluates to true, the data value is toggled into or out of the multi selection. If the expression evaluates to false, the multi selection is first clear, and the data value is then inserted. For example, setting the value to the Vega expression "true" will toggle data values without the user pressing the shift-key.

Default value: true

See also: toggle 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