Mascot, short for Manipulable Semantic Components, is a data visualization grammar designed to support the generation, transformation, and analysis of expressive charts from a graphics-centric perspective. Mascot provides high-level abstractions for both the structure of a chart and the procedure to construct and modify the chart structure:

  • The structure is described as semantic components such as mark, glyph, collection, layout, and encoding;
  • The procedure is expressed in terms of a series of operations that manipulate the semantic components, e.g., repeat, divide, and densify


Graphical objects are first-class citizens. Think in terms of their properties, transformations, layouts and constraints.

Procedural Syntax

Apply a series of operations to generate a visualization. Ability to inspect the visualization components after any step.

Flexible Rendering

Visualization logic decoupled from rendering. Choose your preferred renderer: SVG or WebGL.