Plot

Title and subtitle

A title, an optional subtitle, and a small shared text grammar.

plotconfig/title

The first line of config/title is the title. Add a second line for a subtitle. Both are placed at the top left by default.

Quarterly revenue
Unaudited · Q2 2026

The title is part of the chart SVG. Its theme defaults are equivalent to ltx:500,18 lmb:2; the subtitle defaults to ltx:400,12 lmb:4. That gives the two lines a tight, explicit 2px gap and leaves 4px before the plot body, with no hidden HTML padding or line-height.

Plot-level config/margin sits outside the title as part of the chart's outer frame. It does not add space between the title and the marks. Use title-local lmb: when you explicitly want a gap below a title line.

Each line can use the shared l* label controls:

Quarterly revenue ltx:b,18 le:r lc:#123456,#abcdef
Unaudited · Q2 2026 ltx:12 le:r lmb:3

le: accepts l, c, or r (and left, center, or right). ltx: accepts the same sizes, weights, style letters, and font families as other novem text surfaces. For example, ltx:b,18 is bold 18px text.

Use lc: to control the text color. A two-color value supplies light and dark mode colors; lc:ink restores the theme title or subtitle color:

Quarterly revenue lc:#123456,#abcdef
Unaudited · Q2 2026 lc:ink

The other title-applicable label controls are lb: for a plate, lr: for rotation, and lml:, lmr:, lmt:, lmb: for explicit spacing. lmx:, lmy:, and lma: set two or all four sides. Left, right, and top spacing default to zero; bottom spacing uses the tight theme defaults above. An authored margin replaces its line's theme default.

The shorter tx: and e: aliases remain valid on title lines.

Use the explicit l: form when the title text itself looks like a directive:

l:"Use ltx:18 in a title"
l:"A centered subtitle" le:c

The %n token inserts the plot name:

%n -- name from the plot's about metadata
l:"Updated automatically" le:r

As in the other plot grammars, -- starts a comment outside quotes.

Only the first two non-trailing physical lines render. A third non-empty line is ignored and reported as a configuration diagnostic.