Configuration
Every field at a glance.
Some features on this page require a paid plan. See Plans & Limits.
Only version and marks are required. Everything else has sensible defaults.
Minimal config
The bare minimum – a version and one mark:
Full shape
{
"version": "2026-03-20",
"format": "svg",
"scale": 2,
"width": 640,
"height": 400,
"margin": { "top": 0, "right": 0, "bottom": 0, "left": 0 },
"title": "...",
"subtitle": "...",
"theme": "modern",
"themeOverrides": {},
"data": [],
"marks": [],
"x": { "type": "...", "domain": [], "label": "...", "tickFormat": "..." },
"y": { "type": "...", "domain": [], "label": "...", "tickFormat": "..." },
"color": { "type": "...", "label": "...", "domain": [], "range": [] }
}Field reference
| Field | Type | Default | Description |
|---|---|---|---|
version | "2026-03-20" | – | Required. Schema version. |
format | "svg" | "png" | "svg" | Output image format. |
scale | 1–4 | 2 | Pixel ratio for rendering. |
width | 1–4096 | 640 | Total image width in pixels. |
height | 1–4096 | 400 | Total image height in pixels. |
plotWidth | 1–4096 | – | Data area width. Cannot mix with width/height. See Sizing. |
plotHeight | 1–4096 | – | Data area height. Cannot mix with width/height. See Sizing. |
margin | object | auto | Override auto-computed margins: top, right, bottom, left. |
title | string | – | Chart title, displayed above the plot. |
subtitle | string | – | Subtitle, displayed below the title. |
theme | ThemeName | "modern" | One of 9 built-in themes. |
themeOverrides | object | – | Override individual theme properties. |
data | Datum[] | – | Top-level dataset shared by all marks. See Data. |
marks | Mark[] | – | Required. One or more marks to render. |
x | AxisConfig | auto | X-axis configuration. See Scales. |
y | AxisConfig | auto | Y-axis configuration. See Scales. |
color | ColorConfig | auto | Color scale configuration. See Color. |
Adding theme and chrome
Same data, but now with a title, theme, and axis label:
Automatic behaviors
Title wrapping: Long titles and subtitles wrap automatically to fit the chart width.
Margins: Auto-computed to accommodate axis labels, tick labels, title, subtitle, and legend. Override with explicit margin values – any omitted side keeps its auto-computed value.
Sizing constraint: You cannot specify both width/height and plotWidth/plotHeight – pick one sizing mode. See Sizing.