Skip to contents

Initialize a Vega-Lite specification! Can add any top level configuration parameters, or simply call without arguments to initialize and then use other function (like vl_mark_point(), vl_encode_x(), etc) to add on the various pieces of the chart spec.

Usage

vl_chart(
  data = NULL,
  `$schema` = vegawidget::vega_schema(),
  align = NULL,
  autosize = NULL,
  background = NULL,
  bounds = NULL,
  center = NULL,
  config = NULL,
  datasets = NULL,
  description = NULL,
  encoding = NULL,
  height = NULL,
  mark = NULL,
  name = NULL,
  padding = NULL,
  params = NULL,
  projection = NULL,
  resolve = NULL,
  spacing = NULL,
  title = NULL,
  transform = NULL,
  usermeta = NULL,
  view = NULL,
  width = NULL,
  columns = NULL,
  facet = NULL,
  spec = NULL,
  layer = NULL,
  `repeat` = NULL,
  concat = NULL,
  vconcat = NULL,
  hconcat = NULL
)

Arguments

data

An object describing the data source. Set to null to ignore the parent's data source. If no data is set, it is derived from the parent.

$schema

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

align

The alignment to apply to grid rows and columns. The supported string values are "all", "each", and "none".

  • For "none", a flow layout will be used, in which adjacent subviews are simply placed one after the other.

  • For "each", subviews will be aligned into a clean grid structure, but each row or column may be of variable size.

  • For "all", subviews will be aligned and each row or column will be sized identically based on the maximum observed size. String values for this property will be applied to both grid rows and columns.

Alternatively, an object value of the form {"row": string, "column": string} can be used to supply different alignments for rows and columns.

Default value: "all".

autosize

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.

Default value: pad

background

CSS color property to use as the background of the entire view.

Default value: "white"

bounds

The bounds calculation method to use for determining the extent of a sub-plot. One of full (the default) or flush.

  • If set to full, the entire calculated bounds (including axes, title, and legend) will be used.

  • If set to flush, only the specified width and height values for the sub-view will be used. The flush setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.

Default value: "full"

center

Boolean flag indicating if subviews should be centered relative to their respective rows or columns.

Default value: false

Or: Boolean flag indicating if subviews should be centered relative to their respective rows or columns.

An object value of the form {"row": boolean, "column": boolean} can be used to supply different centering values for rows and columns.

Default value: false

config

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

datasets

A global data store for named datasets. This is a mapping from names to inline datasets. 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.

description

Description of this mark for commenting purpose.

encoding

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

Or: A shared key-value mapping between encoding channels and definition of fields in the underlying layers.

height

The height of a visualization.

  • For a plot with a continuous y-field, height should be a number.

  • For a plot with either a discrete y-field or no y-field, height can be either a number indicating a fixed height or an object in the form of {step: number} defining the height per discrete step. (No y-field is equivalent to having one discrete step.)

  • To enable responsive sizing on height, it should be set to "container".

Default value: Based on config.view.continuousHeight for a plot with a continuous y-field and config.view.discreteHeight otherwise.

Note: For plots with row and column channels, this represents the height of a single view and the "container" option cannot be used.

See also: height documentation.

mark

A string describing the mark type (one of "bar", "circle", "square", "tick", "line", "area", "point", "rule", "geoshape", and "text") or a mark definition object.

name

Name of the visualization for later reference.

padding

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

params

An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.

Or: Dynamic variables or selections that parameterize a visualization.

projection

An object defining properties of geographic projection, which will be applied to shape path for "geoshape" marks and to latitude and "longitude" channels for other marks.

Or: An object defining properties of the geographic projection shared by underlying layers.

resolve

Scale, axis, and legend resolutions for view composition specifications.

spacing

The spacing in pixels between sub-views of the composition operator. An object of the form {"row": number, "column": number} can be used to set different spacing values for rows and columns.

Default value: Depends on "spacing" property of the view composition configuration (20 by default)

Or: The spacing in pixels between sub-views of the concat operator.

Default value: 10

title

Title for the plot.

transform

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

usermeta

Optional metadata that will be passed to Vega. This object is completely ignored by Vega and Vega-Lite and can be used for custom metadata.

view

An object defining the view background's fill and stroke.

Default value: none (transparent)

width

The width of a visualization.

  • For a plot with a continuous x-field, width should be a number.

  • For a plot with either a discrete x-field or no x-field, width can be either a number indicating a fixed width or an object in the form of {step: number} defining the width per discrete step. (No x-field is equivalent to having one discrete step.)

  • To enable responsive sizing on width, it should be set to "container".

Default value: Based on config.view.continuousWidth for a plot with a continuous x-field and config.view.discreteWidth otherwise.

Note: For plots with row and column channels, this represents the width of a single view and the "container" option cannot be used.

See also: width documentation.

columns

The number of columns to include in the view composition layout.

Default value: undefined -- An infinite number of columns (a single row) will be assumed. This is equivalent to hconcat (for concat) and to using the column channel (for facet and repeat).

Note:

  1. This property is only for:

  • the general (wrappable) concat operator (not hconcat/vconcat)

  • the facet and repeat operator with one field/repetition definition (without row/column nesting)

  1. Setting the columns to 1 is equivalent to vconcat (for concat) and to using the row channel (for facet and repeat).

facet

Definition for how to facet the data. One of: 1) a field definition for faceting the plot by one field 2) An object that maps row and column channels to their field definitions

spec

A specification of the view that gets faceted.

Or: A specification of the view that gets repeated.

layer

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. Instead, use the facet operator and place a layer inside a facet.

repeat

Definition for fields to be repeated. One of: 1) An array of fields to be repeated. If "repeat" is an array, the field can be referred to as {"repeat": "repeat"}. The repeated views are laid out in a wrapped row. You can set the number of columns to control the wrapping. 2) An object that maps "row" and/or "column" to the listed fields to be repeated along the particular orientations. The objects {"repeat": "row"} and {"repeat": "column"} can be used to refer to the repeated field respectively.

concat

A list of views to be concatenated.

vconcat

A list of views to be concatenated and put into a column.

hconcat

A list of views to be concatenated and put into a row.

Value

A vega-lite spec, as an S3 object of class vegaspec_vega_lite using vegawidget::as_vegaspec()

Examples


vl_chart() %>%
  vl_add_data(values = mtcars) %>%
  vl_mark_point() %>%
  vl_encode_x("wt") %>%
  vl_encode_y("mpg")