class altair.FacetSpec(facet=Undefined, spec=Undefined, align=Undefined, bounds=Undefined, center=Undefined, columns=Undefined, data=Undefined, description=Undefined, name=Undefined, resolve=Undefined, spacing=Undefined, title=Undefined, transform=Undefined, **kwds)#

FacetSpec schema wrapper

FacetSpec, Dict[required=[facet, spec]] Base interface for a facet specification.

facetFacetFieldDef, Dict, FacetMapping, Dict

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

specFacetedUnitSpec, Dict[required=[mark]], LayerSpec, Dict[required=[layer]]

A specification of the view that gets faceted.

alignLayoutAlign, Literal[‘all’, ‘each’, ‘none’], RowColLayoutAlign, Dict

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".

boundsLiteral[‘full’, ‘flush’]

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"

centerRowColboolean, Dict, bool

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


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)

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

dataDataSource, InlineData, Dict[required=[values]], NamedData, Dict[required=[name]], UrlData, Dict[required=[url]], Data, Generator, GraticuleGenerator, Dict[required=[graticule]], SequenceGenerator, Dict[required=[sequence]], SphereGenerator, Dict[required=[sphere]], None

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.


Description of this mark for commenting purpose.


Name of the visualization for later reference.

resolveResolve, Dict

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

spacingRowColnumber, Dict, float

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)

titleText, Sequence[str], str, TitleParams, Dict[required=[text]]

Title for the plot.

transformSequence[AggregateTransform, Dict[required=[aggregate]], BinTransform, Dict[required=[bin, field, as]], CalculateTransform, Dict[required=[calculate, as]], DensityTransform, Dict[required=[density]], ExtentTransform, Dict[required=[extent, param]], FilterTransform, Dict[required=[filter]], FlattenTransform, Dict[required=[flatten]], FoldTransform, Dict[required=[fold]], ImputeTransform, Dict[required=[impute, key]], JoinAggregateTransform, Dict[required=[joinaggregate]], LoessTransform, Dict[required=[loess, on]], LookupTransform, Dict[required=[lookup, from]], PivotTransform, Dict[required=[pivot, value]], QuantileTransform, Dict[required=[quantile]], RegressionTransform, Dict[required=[regression, on]], SampleTransform, Dict[required=[sample]], StackTransform, Dict[required=[stack, groupby, as]], TimeUnitTransform, Dict[required=[timeUnit, field, as]], Transform, WindowTransform, Dict[required=[window]]]

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

__init__(facet=Undefined, spec=Undefined, align=Undefined, bounds=Undefined, center=Undefined, columns=Undefined, data=Undefined, description=Undefined, name=Undefined, resolve=Undefined, spacing=Undefined, title=Undefined, transform=Undefined, **kwds)#


__init__([facet, spec, align, bounds, ...])

copy([deep, ignore])

Return a copy of the object

from_dict(dct[, validate, _wrapper_classes])

Construct class from a dictionary representation

from_json(json_string[, validate])

Instantiate the object from a valid JSON string


Resolve references in the context of this object's schema or root schema.

to_dict([validate, ignore, context])

Return a dictionary representation of the object

to_json([validate, indent, sort_keys, ...])

Emit the JSON representation for this object as a string.

validate(instance[, schema])

Validate the instance against the class schema in the context of the rootschema.

validate_property(name, value[, schema])

Validate a property against property schema in the context of the rootschema