Struct vega_lite_4::Vegalite
source · pub struct Vegalite {Show 33 fields
pub schema: Option<String>,
pub align: Option<Box<VegaliteAlign>>,
pub autosize: Option<Box<Autosize>>,
pub background: Option<Box<Color>>,
pub bounds: Option<Box<Bounds>>,
pub center: Option<Box<Center>>,
pub config: Option<Box<Config>>,
pub data: RemovableValue<UrlData>,
pub datasets: Option<HashMap<String, InlineDatasetValue>>,
pub description: Option<String>,
pub encoding: Option<Box<EdEncoding>>,
pub height: Option<HeightUnion>,
pub mark: Option<AnyMark>,
pub name: Option<String>,
pub padding: Option<Box<Padding>>,
pub params: Option<Vec<Parameter>>,
pub projection: Option<Box<Projection>>,
pub resolve: Option<Box<Resolve>>,
pub selection: Option<HashMap<String, SelectionDef>>,
pub spacing: Option<Box<Spacing>>,
pub title: Option<TitleUnion>,
pub transform: Option<Vec<Transform>>,
pub usermeta: Option<HashMap<String, Option<Value>>>,
pub view: Option<Box<ViewBackground>>,
pub width: Option<HeightUnion>,
pub columns: Option<f64>,
pub facet: Option<Box<Facet>>,
pub spec: Option<Box<VegaliteSpec>>,
pub layer: Option<Vec<LayerElement>>,
pub repeat: Option<Box<RepeatUnion>>,
pub concat: Option<Vec<NormalizedSpec>>,
pub vconcat: Option<Vec<NormalizedSpec>>,
pub hconcat: Option<Vec<NormalizedSpec>>,
}
Expand description
A Vega-Lite top-level specification. This is the root class for all Vega-Lite specifications. (The json schema is generated from this type.)
Fields§
§schema: Option<String>
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/v4.json
.
Setting the $schema
property allows automatic validation and autocomplete in editors
that support JSON schema.
align: Option<Box<VegaliteAlign>>
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: Option<Box<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: Option<Box<Color>>
CSS color property to use as the background of the entire view.
Default value: "white"
bounds: Option<Box<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 toflush
, only the specified width and height values for the sub-view will be used. Theflush
setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.
Default value: "full"
center: Option<Box<Center>>
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
Boolean flag indicating if subviews should be centered relative to their respective rows or columns.
Default value: false
config: Option<Box<Config>>
Vega-Lite configuration object. This property can only be defined at the top-level of a specification.
data: RemovableValue<UrlData>
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.
datasets: Option<HashMap<String, InlineDatasetValue>>
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: Option<String>
Description of this mark for commenting purpose.
encoding: Option<Box<EdEncoding>>
A key-value mapping between encoding channels and definition of fields.
A shared key-value mapping between encoding channels and definition of fields in the underlying layers.
height: Option<HeightUnion>
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: Option<AnyMark>
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: Option<String>
Name of the visualization for later reference.
padding: Option<Box<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: Option<Vec<Parameter>>
Dynamic variables that parameterize a visualization.
projection: Option<Box<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.
An object defining properties of the geographic projection shared by underlying layers.
resolve: Option<Box<Resolve>>
Scale, axis, and legend resolutions for view composition specifications.
selection: Option<HashMap<String, SelectionDef>>
A key-value mapping between selection names and definitions.
spacing: Option<Box<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)
The spacing in pixels between sub-views of the concat operator.
Default value: 10
title: Option<TitleUnion>
Title for the plot.
transform: Option<Vec<Transform>>
An array of data transformations such as filter and new field calculation.
usermeta: Option<HashMap<String, Option<Value>>>
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: Option<Box<ViewBackground>>
An object defining the view background’s fill and stroke.
Default value: none (transparent)
width: Option<HeightUnion>
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: Option<f64>
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:
-
This property is only for: - the general (wrappable)
concat
operator (nothconcat
/vconcat
) - thefacet
andrepeat
operator with one field/repetition definition (without row/column nesting) -
Setting the
columns
to1
is equivalent tovconcat
(forconcat
) and to using therow
channel (forfacet
andrepeat
).
facet: Option<Box<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: Option<Box<VegaliteSpec>>
A specification of the view that gets faceted.
A specification of the view that gets repeated.
layer: Option<Vec<LayerElement>>
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: Option<Box<RepeatUnion>>
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: Option<Vec<NormalizedSpec>>
A list of views to be concatenated.
vconcat: Option<Vec<NormalizedSpec>>
A list of views to be concatenated and put into a column.
hconcat: Option<Vec<NormalizedSpec>>
A list of views to be concatenated and put into a row.