Published-release documentation · release compatibility

Guide, Axis, Grid, and Title Actions

Each declared action has an exact signature and its own stable link. Option tables are generated from types; behavior prose names the owning workflow and its constraints. API layers and H0–H4 catalog role tags are independent classifications. Relative action hierarchy is determined by composition, not by a tag or fixed trace depth.

createParallelAxes

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createParallelAxes(options?: ParallelAxesOptions): ChartProgram;

Named option contracts: ParallelAxesOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined

Behavior, inference, resets, and errors: createParallelAxes, createParallelAxis, editParallelAxis, removeParallelAxis, removeParallelAxes.

createParallelAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createParallelAxis(options: CreateParallelAxisOptions): ChartProgram;

Named option contracts: CreateParallelAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
field Required string
target Optional / branch-dependent string \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
title Optional / branch-dependent false \| ParallelAxisTitleOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| (ParallelAxisTickSelection & { ticks?: AxisTickStyleOptions \| undefined; labels?: AxisLabelStyleOptions \| undefined; }) \| undefined
ticks Optional / branch-dependent false \| ParallelAxisTicksOptions \| undefined
labels Optional / branch-dependent false \| ParallelAxisLabelsOptions \| undefined

Behavior, inference, resets, and errors: createParallelAxes, createParallelAxis, editParallelAxis, removeParallelAxis, removeParallelAxes.

editParallelAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editParallelAxis(options: EditParallelAxisOptions): ChartProgram;

Named option contracts: EditParallelAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
field Required string
target Optional / branch-dependent string \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
title Optional / branch-dependent false \| ParallelAxisTitleOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| (ParallelAxisTickSelection & { ticks?: AxisTickStyleOptions \| undefined; labels?: AxisLabelStyleOptions \| undefined; }) \| undefined
ticks Optional / branch-dependent false \| ParallelAxisTicksOptions \| undefined
labels Optional / branch-dependent false \| ParallelAxisLabelsOptions \| undefined

Behavior, inference, resets, and errors: createParallelAxes, createParallelAxis, editParallelAxis, removeParallelAxis, removeParallelAxes.

removeParallelAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeParallelAxis(options: RemoveParallelAxisOptions): ChartProgram;

Named option contracts: RemoveParallelAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
field Required string
target Optional / branch-dependent string \| undefined

Behavior, inference, resets, and errors: createParallelAxes, createParallelAxis, editParallelAxis, removeParallelAxis, removeParallelAxes.

removeParallelAxes

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeParallelAxes(options?: ParallelAxesOptions): ChartProgram;

Named option contracts: ParallelAxesOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined

Behavior, inference, resets, and errors: createParallelAxes, createParallelAxis, editParallelAxis, removeParallelAxis, removeParallelAxes.

createAxes

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createAxes(options?: CreateAxesOptions): ChartProgram;

Named option contracts: CreateAxesOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
coordinate Optional / branch-dependent { id?: string \| undefined; type?: "auto" \| "cartesian" \| "parallel" \| "polar" \| undefined; } \| undefined
x Optional / branch-dependent false \| CompleteAxisOptions<XAxisPosition> \| readonly [NamedCompleteAxis<XAxisPosition>, ...NamedCompleteAxis<XAxisPosition>[]] \| undefined
y Optional / branch-dependent false \| CompleteAxisOptions<YAxisPosition> \| readonly [NamedCompleteAxis<YAxisPosition>, ...NamedCompleteAxis<YAxisPosition>[]] \| undefined
theta Optional / branch-dependent false \| CompletePolarAxisOptions \| undefined
radius Optional / branch-dependent false \| CompleteRadialAxisOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createAxes({ coordinate?, x?, y?, theta?, radius? })

Create Cartesian or Polar axes directly, including inferred titles and ticks. Axes

createXAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createXAxis(options?: CompleteAxisOptions<XAxisPosition>): ChartProgram;

Named option contracts: CompleteAxisOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
underlay Optional / branch-dependent boolean \| undefined
id Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| Omit<AxisTicksAndLabelsOptions<XAxisPosition>, "position" \| "scale" \| "target"> \| undefined
title Optional / branch-dependent false \| Omit<AxisTitleOptions<XAxisPosition>, "position" \| "scale" \| "target"> \| undefined

Behavior, inference, resets, and errors: Complete single-channel axes.

createYAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createYAxis(options?: CompleteAxisOptions<YAxisPosition>): ChartProgram;

Named option contracts: CompleteAxisOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
underlay Optional / branch-dependent boolean \| undefined
id Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| Omit<AxisTicksAndLabelsOptions<YAxisPosition>, "position" \| "scale" \| "target"> \| undefined
title Optional / branch-dependent false \| Omit<AxisTitleOptions<YAxisPosition>, "position" \| "scale" \| "target"> \| undefined

Behavior, inference, resets, and errors: Complete single-channel axes.

createXAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createXAxisLine(options?: AxisLineStyleOptions & { target?: string; scale?: string; position?: XAxisPosition }): ChartProgram;

Named option contracts: AxisLineStyleOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

createYAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createYAxisLine(options?: AxisLineStyleOptions & { target?: string; scale?: string; position?: YAxisPosition }): ChartProgram;

Named option contracts: AxisLineStyleOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

editXAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editXAxisLine(options?: AxisLineStyleOptions & { target?: string; position?: XAxisPosition }): ChartProgram;

Named option contracts: AxisLineStyleOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

editYAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editYAxisLine(options?: AxisLineStyleOptions & { target?: string; position?: YAxisPosition }): ChartProgram;

Named option contracts: AxisLineStyleOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

createXAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createXAxisTicks(options?: AxisTickOptions<XAxisPosition>): ChartProgram;

Named option contracts: AxisTickOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

createYAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createYAxisTicks(options?: AxisTickOptions<YAxisPosition>): ChartProgram;

Named option contracts: AxisTickOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

editXAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editXAxisTicks(options?: Omit<AxisTickOptions<XAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisTickOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

editYAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editYAxisTicks(options?: Omit<AxisTickOptions<YAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisTickOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

createXAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createXAxisLabels(options?: AxisLabelOptions<XAxisPosition>): ChartProgram;

Named option contracts: AxisLabelOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
colorMap Optional / branch-dependent "auto" \| CartesianAxisLabelColorMap \| undefined
flush Optional / branch-dependent boolean \| undefined
flushThreshold Optional / branch-dependent number \| "auto" \| undefined
alongOffset Optional / branch-dependent number \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
maxWidth Optional / branch-dependent number \| false \| undefined
wrap Optional / branch-dependent "character" \| "word" \| undefined
lineHeight Optional / branch-dependent number \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

createYAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createYAxisLabels(options?: AxisLabelOptions<YAxisPosition>): ChartProgram;

Named option contracts: AxisLabelOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
colorMap Optional / branch-dependent "auto" \| CartesianAxisLabelColorMap \| undefined
flush Optional / branch-dependent boolean \| undefined
flushThreshold Optional / branch-dependent number \| "auto" \| undefined
alongOffset Optional / branch-dependent number \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
maxWidth Optional / branch-dependent number \| false \| undefined
wrap Optional / branch-dependent "character" \| "word" \| undefined
lineHeight Optional / branch-dependent number \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

editXAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editXAxisLabels(options?: Omit<AxisLabelOptions<XAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisLabelOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
colorMap Optional / branch-dependent "auto" \| CartesianAxisLabelColorMap \| undefined
flush Optional / branch-dependent boolean \| undefined
flushThreshold Optional / branch-dependent number \| "auto" \| undefined
alongOffset Optional / branch-dependent number \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
maxWidth Optional / branch-dependent number \| false \| undefined
wrap Optional / branch-dependent "character" \| "word" \| undefined
lineHeight Optional / branch-dependent number \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

editYAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editYAxisLabels(options?: Omit<AxisLabelOptions<YAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisLabelOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
colorMap Optional / branch-dependent "auto" \| CartesianAxisLabelColorMap \| undefined
flush Optional / branch-dependent boolean \| undefined
flushThreshold Optional / branch-dependent number \| "auto" \| undefined
alongOffset Optional / branch-dependent number \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
maxWidth Optional / branch-dependent number \| false \| undefined
wrap Optional / branch-dependent "character" \| "word" \| undefined
lineHeight Optional / branch-dependent number \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined

Behavior, inference, resets, and errors: Axis lines, ticks, and labels.

createXAxisTicksAndLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createXAxisTicksAndLabels(options?: AxisTicksAndLabelsOptions<XAxisPosition>): ChartProgram;

Named option contracts: AxisTicksAndLabelsOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
ticks Optional / branch-dependent CartesianAxisTickStyleOptions \| undefined
labels Optional / branch-dependent (CartesianAxisLabelStyleOptions & AxisLabelLayoutOptions & DisplayLabelOptions) \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

createYAxisTicksAndLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createYAxisTicksAndLabels(options?: AxisTicksAndLabelsOptions<YAxisPosition>): ChartProgram;

Named option contracts: AxisTicksAndLabelsOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
ticks Optional / branch-dependent CartesianAxisTickStyleOptions \| undefined
labels Optional / branch-dependent (CartesianAxisLabelStyleOptions & AxisLabelLayoutOptions & DisplayLabelOptions) \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

editXAxisTicksAndLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editXAxisTicksAndLabels(options: Omit<AxisTicksAndLabelsOptions<XAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisTicksAndLabelsOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
ticks Optional / branch-dependent CartesianAxisTickStyleOptions \| undefined
labels Optional / branch-dependent (CartesianAxisLabelStyleOptions & AxisLabelLayoutOptions & DisplayLabelOptions) \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

editYAxisTicksAndLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editYAxisTicksAndLabels(options: Omit<AxisTicksAndLabelsOptions<YAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisTicksAndLabelsOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
count Optional / branch-dependent number \| undefined
rounding Optional / branch-dependent AxisTickRounding \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
ticks Optional / branch-dependent CartesianAxisTickStyleOptions \| undefined
labels Optional / branch-dependent (CartesianAxisLabelStyleOptions & AxisLabelLayoutOptions & DisplayLabelOptions) \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

createXAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createXAxisTitle(options?: AxisTitleOptions<XAxisPosition>): ChartProgram;

Named option contracts: AxisTitleOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
alongOffset Optional / branch-dependent number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined
baseline Optional / branch-dependent "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined
text Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
at Optional / branch-dependent number \| "center" \| "end" \| "start" \| undefined
offset Optional / branch-dependent AxisTitleOffset \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

createYAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createYAxisTitle(options?: AxisTitleOptions<YAxisPosition>): ChartProgram;

Named option contracts: AxisTitleOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
alongOffset Optional / branch-dependent number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined
baseline Optional / branch-dependent "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined
text Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
at Optional / branch-dependent number \| "center" \| "end" \| "start" \| undefined
offset Optional / branch-dependent AxisTitleOffset \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

editXAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editXAxisTitle(options?: Omit<AxisTitleOptions<XAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisTitleOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
alongOffset Optional / branch-dependent number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined
baseline Optional / branch-dependent "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined
text Optional / branch-dependent string \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
at Optional / branch-dependent number \| "center" \| "end" \| "start" \| undefined
offset Optional / branch-dependent AxisTitleOffset \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

editYAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editYAxisTitle(options?: Omit<AxisTitleOptions<YAxisPosition>, "scale">): ChartProgram;

Named option contracts: AxisTitleOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
alongOffset Optional / branch-dependent number \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
overlap Optional / branch-dependent "allow" \| "error" \| undefined
baseline Optional / branch-dependent "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined
text Optional / branch-dependent string \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
at Optional / branch-dependent number \| "center" \| "end" \| "start" \| undefined
offset Optional / branch-dependent AxisTitleOffset \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

Behavior, inference, resets, and errors: Tick/label groups and axis titles.

editAxes

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.24. See release compatibility.

editAxes(options: EditAxesOptions): ChartProgram;

Named option contracts: EditAxesOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
x Optional / branch-dependent false \| EditAxisOptions<XAxisPosition> \| readonly [EditAxisOptions<XAxisPosition> & { target: string; }, ...(EditAxisOptions<XAxisPosition> & { ...; })[]] \| undefined
y Optional / branch-dependent false \| EditAxisOptions<YAxisPosition> \| readonly [EditAxisOptions<YAxisPosition> & { target: string; }, ...(EditAxisOptions<YAxisPosition> & { ...; })[]] \| undefined
theta Optional / branch-dependent false \| EditThetaAxisOptions \| undefined
radius Optional / branch-dependent false \| EditRadialAxisOptions \| undefined
parallel Optional / branch-dependent false \| readonly [ParallelAxisComponentsOptions, ...ParallelAxisComponentsOptions[]] \| ParallelAxisComponentsOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editAxes({ x?, y?, theta?, radius?, parallel? })

Chart-authoring action. Edit existing axes in one atomic call. Each selected option uses the corresponding editXAxis, editYAxis, editThetaAxis, editRadialAxis, or editParallelAxis options. Omission or false preserves that axis. At least one nonempty edit is required. No axes or components are created and scale/coordinate bindings are preserved. Cartesian arrays require explicit target IDs; parallel arrays select fields with the existing field/target options. Duplicate selections and empty arrays are rejected.

// Fragment: program already contains x and y axes.
program.editAxes({
  x: { labels: { fontSize: 11 } },
  y: { ticksAndLabels: { count: 4, labels: { fontSize: 11 } } }
});

editXAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editXAxis(options: EditAxisOptions<XAxisPosition>): ChartProgram;

Named option contracts: EditAxisOptions · XAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
underlay Optional / branch-dependent boolean \| undefined
target Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
position Optional / branch-dependent XAxisPosition \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticks Optional / branch-dependent false \| Omit<AxisTickOptions<XAxisPosition>, "position" \| "scale" \| "target"> \| undefined
labels Optional / branch-dependent false \| Omit<AxisLabelOptions<XAxisPosition>, "position" \| "scale" \| "target"> \| undefined
ticksAndLabels Optional / branch-dependent false \| Omit<AxisTicksAndLabelsOptions<XAxisPosition>, "position" \| "scale" \| "target"> \| undefined
title Optional / branch-dependent false \| Omit<AxisTitleOptions<XAxisPosition>, "position" \| "scale" \| "target"> \| undefined

Behavior, inference, resets, and errors: Complete single-channel axes.

editYAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editYAxis(options: EditAxisOptions<YAxisPosition>): ChartProgram;

Named option contracts: EditAxisOptions · YAxisPosition.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
underlay Optional / branch-dependent boolean \| undefined
target Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
position Optional / branch-dependent YAxisPosition \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticks Optional / branch-dependent false \| Omit<AxisTickOptions<YAxisPosition>, "position" \| "scale" \| "target"> \| undefined
labels Optional / branch-dependent false \| Omit<AxisLabelOptions<YAxisPosition>, "position" \| "scale" \| "target"> \| undefined
ticksAndLabels Optional / branch-dependent false \| Omit<AxisTicksAndLabelsOptions<YAxisPosition>, "position" \| "scale" \| "target"> \| undefined
title Optional / branch-dependent false \| Omit<AxisTitleOptions<YAxisPosition>, "position" \| "scale" \| "target"> \| undefined

Behavior, inference, resets, and errors: Complete single-channel axes.

removeXAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeXAxis(options?: RemoveAxisOptions): ChartProgram;

Named option contracts: RemoveAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined

Behavior, inference, resets, and errors: Complete axis removal.

removeYAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeYAxis(options?: RemoveAxisOptions): ChartProgram;

Named option contracts: RemoveAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined

Behavior, inference, resets, and errors: Complete axis removal.

createGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createGrid(options?: CreateGridOptions): ChartProgram;

Named option contracts: CreateGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
horizontal Optional / branch-dependent boolean \| GridDirectionOptions \| undefined
vertical Optional / branch-dependent boolean \| GridDirectionOptions \| undefined
theta Optional / branch-dependent boolean \| PolarGridOptions \| undefined
radial Optional / branch-dependent boolean \| PolarGridOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createGrid({ horizontal?, vertical?, theta?, radial? })

Create inferred horizontal and/or vertical Cartesian grid lines behind related marks, or infer the Polar grid families backed by stored theta/radius encodings. Grids

createHorizontalGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createHorizontalGrid(options?: GridDirectionOptions): ChartProgram;

Named option contracts: GridDirectionOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined
zIndex Optional / branch-dependent number \| undefined
bandPosition Optional / branch-dependent "boundary" \| "center" \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly CategoryValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

Behavior, inference, resets, and errors: Directional grids.

createVerticalGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createVerticalGrid(options?: GridDirectionOptions): ChartProgram;

Named option contracts: GridDirectionOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined
zIndex Optional / branch-dependent number \| undefined
bandPosition Optional / branch-dependent "boundary" \| "center" \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly CategoryValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

Behavior, inference, resets, and errors: Directional grids.

editHorizontalGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editHorizontalGrid(options: EditGridOptions): ChartProgram;

Named option contracts: EditGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined
zIndex Optional / branch-dependent number \| undefined
bandPosition Optional / branch-dependent "boundary" \| "center" \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent "auto" \| readonly CategoryValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

Behavior, inference, resets, and errors: Directional grids.

editVerticalGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editVerticalGrid(options: EditGridOptions): ChartProgram;

Named option contracts: EditGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
strokeDashMap Optional / branch-dependent "auto" \| CartesianGuideDashMap \| undefined
alongOffset Optional / branch-dependent number \| undefined
zIndex Optional / branch-dependent number \| undefined
bandPosition Optional / branch-dependent "boundary" \| "center" \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent "auto" \| readonly CategoryValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

Behavior, inference, resets, and errors: Directional grids.

editGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editGrid(options: EditGridDirectionsOptions): ChartProgram;

Named option contracts: EditGridDirectionsOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
horizontal Optional / branch-dependent EditGridOptions \| undefined
vertical Optional / branch-dependent EditGridOptions \| undefined
theta Optional / branch-dependent EditPolarGridOptions \| undefined
radial Optional / branch-dependent EditPolarGridOptions \| undefined

Behavior, inference, resets, and errors: Directional grids.

removeGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeGrid(options?: RemoveGridOptions): ChartProgram;

Named option contracts: RemoveGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
horizontal Optional / branch-dependent boolean \| undefined
vertical Optional / branch-dependent boolean \| undefined
theta Optional / branch-dependent boolean \| undefined
radial Optional / branch-dependent boolean \| undefined

Behavior, inference, resets, and errors: Directional grids.

createLegend

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createLegend(options?: LegendOptions): ChartProgram;

Named option contracts: LegendOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
clipHeight Optional / branch-dependent number \| undefined
combine Optional / branch-dependent "color-size" \| "separate" \| "size-shape" \| undefined
representation Optional / branch-dependent "gradient" \| "symbols" \| undefined
layout Optional / branch-dependent "edge" \| "legacy-bottom" \| undefined
overflow Optional / branch-dependent false \| { maxItems: number; summary?: "ellipsis-count" \| undefined; } \| undefined
order Optional / branch-dependent LegendOrder \| undefined
target Optional / branch-dependent string \| undefined
channels Optional / branch-dependent readonly ("color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth")[] \| undefined
position Optional / branch-dependent "bottom" \| "bottom-left" \| "bottom-right" \| "left" \| "right" \| "top" \| "top-left" \| "top-right" \| undefined
blockLayout Optional / branch-dependent "column" \| "row" \| "wrap" \| undefined
at Optional / branch-dependent { x: number; y: number; } \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
direction Optional / branch-dependent "horizontal" \| "vertical" \| undefined
columns Optional / branch-dependent number \| undefined
offset Optional / branch-dependent number \| undefined
titlePosition Optional / branch-dependent "bottom" \| "left" \| "top" \| undefined
title Optional / branch-dependent string \| false \| undefined
values Optional / branch-dependent readonly number[] \| undefined
count Optional / branch-dependent number \| undefined
gradient Optional / branch-dependent { length?: number \| undefined; thickness?: number \| undefined; opacity?: number \| undefined; } \| undefined
symbol Optional / branch-dependent LegendSymbolRecipe \| undefined
labels Optional / branch-dependent LegendTextOptions \| undefined
titleStyle Optional / branch-dependent LegendTitleStyleOptions \| undefined
itemGap Optional / branch-dependent number \| undefined
rowPadding Optional / branch-dependent number \| undefined
titlePadding Optional / branch-dependent number \| undefined
border Optional / branch-dependent boolean \| LegendBorderOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createLegend({
  target?, channels?, position?, layout?, align?, direction?, columns?, offset?,
  titlePosition?, title?, symbol?, labels?, titleStyle?, itemGap?, rowPadding?, titlePadding?, border?, count?,
  values?, gradient?, order?
})

rowPadding sets non-negative finite occupied edge-to-edge vertical row gaps for item-based legends; titlePadding independently sets title-to-body spacing for every family. Omission preserves the original layout. Text uses deterministic font-size and hard-line-break bounds; strokes, paths and clips contribute to sample bounds. Multi-column rows use their union; text-only summaries have no sample. These options require edge layout. Gradient strips reject row padding.

Create categorical, point-size, continuous-color gradient, discretized-color interval, or field-opacity sample legends. Interval legends support all four edges with layout "edge", side single columns and horizontal item grids. Explicit channels creates exactly the selected content; include "size" in a point categorical-and-size request. Compatible point and line categorical channels stay combined when their domains contain the same values, even in different orders. The first selected channel owns item order; each symbol still looks up its own scale by value. Independent fields, continuous color/stroke, opacity, and stroke width use separate native blocks. Area fill and stroke are independently selectable blocks, including stroke-only legends for density and horizon areas. For outside top/bottom legends, omitting offset places the occupied legend after the same-side axis line, ticks, labels, and title, with the family’s native gap (8 pixels for categorical legends, 30 for continuous families). Axis edits and removal recompute that gap. An explicit numeric offset, including zero or the native value, remains measured from the plot edge. Free coordinates, plot corners, and legacy-bottom keep their existing anchors. Older saved programs retain their fixed offsets. Top-title style accepts align: "left" | "center" | "right" within the measured title/body content block. This applies to every legend family; omission preserves each layout’s current alignment. It does not move the complete group, change item spacing, or include border padding. Inline titlePosition: "left" rejects an explicit title alignment. Whole/focused title edits accept "auto" to remove an explicit alignment; creation and saved state accept only the three alignment values. Hidden titles retain their style for restoration. Automatic symbol recipes refresh when matching companion lines or their color bindings change; explicit recipes retain their layers and order. Continuous color and stroke ramps accept gradient: { length?, thickness?, opacity? }. Body opacity is finite in [0, 1], defaults to 1, and preserves space at zero. It never fades marks, text, ticks, or borders. Whole and focused legend edits preserve omitted gradient fields; switching from symbols back to a gradient resets exclusive gradient settings. Continuous color and stroke gradients also accept exact ascending numeric values inside their domain. Ticks use their mapped positions, without adding midpoint or endpoint values. Creation omits values for automatic ticks; editors preserve omitted arrays and use values: "auto" to restore the remembered count. Do not combine an exact array with count. Exact samples survive color gradient/symbol representation changes. Select a gradient block with the editLegend channel option; editLegendBlock sample edits remain sampled-only. Omitted point channels infer the available categorical color, shape, and quantitative size with the same result as explicit selection. Color-only uses swatches; shape uses typed symbols; a size encoding adds its own sample block. Continuous legends support right, left, top, and bottom placement. Categorical legends also support left side placement; composite point and size blocks remain in deterministic vertical order. Horizontal sampled-opacity legends accept titlePosition: "left" for one inline title-symbol-label reading line. Same-edge top/bottom blocks are left-packed with a 40-pixel occupied-bound gap. Categorical layout defaults to "edge"; "legacy-bottom" explicitly selects the former Canvas-bottom compact row and requires bottom position. Categorical order accepts "scale", { values: [...] }, or { channel: "x" | "y" | "theta" } while preserving each category’s color/shape/dash. Continuous size, opacity, and stroke-width legends accept 1–100 exact, finite, strictly increasing values. They use the actual channel scale without changing its domain or the encoded marks. values cannot be combined with count and is unsupported for discrete size and gradient legends. Legends

Categorical left/right legends accept positive columns (default one), fill columns in domain order, and measure each column before allocating its width. They retain vertical direction and a top title. Side grids need sufficient Canvas margin and preserve their internal spacing when combined with other blocks.

Categorical-only legends also accept position: "top-left" | "top-right" | "bottom-left" | "bottom-right" inside the plot. offset is the inward gap to the complete painted border (or content without a border); border padding is reserved inside that edge. These anchors default to vertical, one-column content, with a top title and center alignment. They do not reserve an outer guide lane. The full legend must fit the plot; resizing the Canvas reanchors it.

Set overflow: { maxItems: 29 } to display at most 29 categorical or ordinal point-size symbols and labels, followed by an additional text-only …N entries summary when needed. The optional summary value is "ellipsis-count". All categories remain in the appearance scale and legend domain, including categories omitted from the visible legend. The limit follows the effective legend order and label map. Omission or false displays every category. This option also works on edge categorical legends and ordinal size legends. When a categorical block and an ordinal size block are created or edited together, the same limit applies to both blocks. Quantitative size sampling is unchanged by a categorical overflow limit. Continuous and combined sampled legends retain their existing edge-only contracts. Shared facet promotion requires an edge position.

editLegend

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editLegend(options: EditLegendOptions): ChartProgram;

Named option contracts: EditLegendOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
clipHeight Optional / branch-dependent number \| "auto" \| undefined
rowPadding Optional / branch-dependent number \| "auto" \| undefined
titlePadding Optional / branch-dependent number \| "auto" \| undefined
channel Optional / branch-dependent "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| undefined
position Optional / branch-dependent "bottom" \| "bottom-left" \| "bottom-right" \| "inherit" \| "left" \| "right" \| "top" \| "top-left" \| "top-right" \| undefined
direction Optional / branch-dependent "auto" \| "horizontal" \| "vertical" \| undefined
titleStyle Optional / branch-dependent LegendTitleStyleEditOptions \| undefined
channels Optional / branch-dependent readonly ("color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth")[] \| undefined
title Optional / branch-dependent string \| false \| undefined
values Optional / branch-dependent "auto" \| readonly number[] \| undefined
combine Optional / branch-dependent "color-size" \| "separate" \| "size-shape" \| undefined
representation Optional / branch-dependent "gradient" \| "symbols" \| undefined
layout Optional / branch-dependent "edge" \| "legacy-bottom" \| undefined
overflow Optional / branch-dependent false \| { maxItems: number; summary?: "ellipsis-count" \| undefined; } \| undefined
order Optional / branch-dependent LegendOrder \| undefined
target Optional / branch-dependent string \| undefined
blockLayout Optional / branch-dependent "column" \| "row" \| "wrap" \| undefined
at Optional / branch-dependent { x: number; y: number; } \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
columns Optional / branch-dependent number \| undefined
offset Optional / branch-dependent number \| undefined
titlePosition Optional / branch-dependent "bottom" \| "left" \| "top" \| undefined
count Optional / branch-dependent number \| undefined
gradient Optional / branch-dependent { length?: number \| undefined; thickness?: number \| undefined; opacity?: number \| undefined; } \| undefined
symbol Optional / branch-dependent LegendSymbolRecipe \| undefined
labels Optional / branch-dependent LegendTextOptions \| undefined
itemGap Optional / branch-dependent number \| undefined
border Optional / branch-dependent boolean \| LegendBorderOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editLegend({
  target?, channel?, channels?, position?, layout?, align?, direction?, columns?, offset?, titlePosition?,
  title?, symbol?, labels?, titleStyle?, itemGap?, rowPadding?, titlePadding?, border?, count?, values?, gradient?, order?, overflow?
})

Singular channel selects one existing block without changing sibling typography. It cannot accompany channels, blockLayout, or at. A channel never disambiguates mark targets.

rowPadding and titlePadding accept numbers or "auto" to remove retained intent; omission or undefined preserves it. Explicit row spacing wins over vertical itemGap/block gap while retaining the old fallback and horizontal spacing. Explicit title spacing wins over the old title gap. Reset row padding before a transition to a gradient. Combining conflicting policies requires an explicit choice; incompatible splits require explicit reset. Content and Canvas/data/scale/theme/facet replay retain compatible policies.

Partially edit one existing legend. Categorical overflow can be replaced or reset with false; data/scale/order revisions recompute the hidden count and remove stale symbols and summary text. Interval legends accept four-edge placement and horizontal grid/inline-title controls. Hidden continuous titles are excluded from occupied bounds and backgrounds. Omitted categorical layout preserves the stored mode; style edits never switch modes. Categorical order can be reassigned or reset with "scale"; linked position changes also refresh its item order. title accepts a non-empty string, "auto", or false. Explicit channels replaces the entire target’s content with the exact supported non-empty set; mark encodings and scales remain. Retained blocks preserve configuration; new blocks use creation defaults and removed blocks lose their settings. Categorical revisions preserve compatible recipes and order. Shared text patches merge only requested style leaves into each block. A horizontal sampled-opacity legend accepts titlePosition: "left" and inline spacing edits. A standalone size or stroke-width legend accepts the bounded title, count, labels, and titleStyle subset and remains right-positioned. Count and text styles persist through Canvas/scale/data replay; false hides a title and "auto" restores it from the encoded field. Sampled size, opacity, and stroke-width legends also accept exact numeric values; values: "auto" restores the remembered automatic count. A scale or dependent replay that would invalidate a stored exact sample fails atomically. Legends

editLegendBlock

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.24. See release compatibility.

editLegendBlock(options: EditLegendBlockOptions): ChartProgram;

Named option contracts: EditLegendBlockOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
clipHeight Optional / branch-dependent number \| "auto" \| undefined
target Required string
channel Required "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth"
position Optional / branch-dependent "bottom" \| "bottom-left" \| "bottom-right" \| "inherit" \| "left" \| "right" \| "top" \| "top-left" \| "top-right" \| undefined
title Optional / branch-dependent string \| undefined
values Optional / branch-dependent "auto" \| readonly [number, ...number[]] \| undefined
count Optional / branch-dependent number \| undefined
order Optional / branch-dependent readonly CategoryValue[] \| undefined
gap Optional / branch-dependent number \| undefined
text Optional / branch-dependent LegendBlockTextPatch \| undefined
symbol Optional / branch-dependent LegendBlockSymbolPatch \| undefined
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editLegendBlock({
  target, channel, title?, values?, count?, order?, gap?, text?, symbol?, labelMap?
})

Edit one logical legend block without changing sibling blocks on the same mark. Both the mark target and a channel currently represented by the legend are required. Merged categorical channels share one block identity, so selecting color or shape in a color-and-shape block edits the same state.

Continuous size, opacity, and stroke-width blocks accept exact values or an automatic count; categorical blocks accept an exact full-domain order. text changes item-label typography and color, symbol changes supported sample appearance, and gap changes internal spacing. Empty text or symbol objects restore the base style. A symbol property that would replace the data mapping is rejected. Empty title hides the selected block. Full programs only. Categorical and continuous-size labelMap may map a value to "": only text is omitted, while the sample, symbol, item slot and typed identity remain. Continuous size accepts finite numeric keys only; unmatched samples keep their normal formatter. "auto" removes the map and [] stores an explicit empty map. Editing legends

editLegendLayout

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editLegendLayout(options: EditLegendLayoutOptions): ChartProgram;

Named option contracts: EditLegendLayoutOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
channel Optional / branch-dependent "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| undefined
layout Optional / branch-dependent "edge" \| "legacy-bottom" \| undefined
position Optional / branch-dependent "bottom" \| "bottom-left" \| "bottom-right" \| "inherit" \| "left" \| "right" \| "top" \| "top-left" \| "top-right" \| undefined
blockLayout Optional / branch-dependent "column" \| "row" \| "wrap" \| undefined
at Optional / branch-dependent { x: number; y: number; } \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
direction Optional / branch-dependent "auto" \| "horizontal" \| "vertical" \| undefined
columns Optional / branch-dependent number \| undefined
offset Optional / branch-dependent number \| undefined
titlePosition Optional / branch-dependent "bottom" \| "left" \| "top" \| undefined
itemGap Optional / branch-dependent number \| undefined
rowPadding Optional / branch-dependent number \| "auto" \| undefined
titlePadding Optional / branch-dependent number \| "auto" \| undefined

Behavior, inference, resets, and errors: Focused legend edits.

editLegendLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editLegendLabels(options: EditLegendLabelsOptions): ChartProgram;

Named option contracts: EditLegendLabelsOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
channel Optional / branch-dependent "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| undefined
offset Optional / branch-dependent number \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
format Optional / branch-dependent ValueFormat \| undefined

Behavior, inference, resets, and errors: Focused legend edits.

editLegendTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editLegendTitle(options: EditLegendTitleOptions): ChartProgram;

Named option contracts: EditLegendTitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
channel Optional / branch-dependent "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| undefined
title Optional / branch-dependent string \| false \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
align Optional / branch-dependent "auto" \| "center" \| "left" \| "right" \| undefined

Behavior, inference, resets, and errors: Focused legend edits.

editLegendSymbols

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editLegendSymbols(options: EditLegendSymbolsOptions): ChartProgram;

Named option contracts: EditLegendSymbolsOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
clipHeight Optional / branch-dependent number \| "auto" \| undefined
target Optional / branch-dependent string \| undefined
channel Optional / branch-dependent "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| undefined
symbol Optional / branch-dependent LegendSymbolRecipe \| undefined
count Optional / branch-dependent number \| undefined
gradient Optional / branch-dependent { length?: number \| undefined; thickness?: number \| undefined; opacity?: number \| undefined; } \| undefined

Behavior, inference, resets, and errors: Focused legend edits.

editLegendBorder

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editLegendBorder(options: EditLegendBorderOptions): ChartProgram;

Named option contracts: EditLegendBorderOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
channel Optional / branch-dependent "color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| undefined
border Required boolean \| LegendBorderOptions

Behavior, inference, resets, and errors: Focused legend edits.

createGuides

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createGuides(options?: CreateGuidesOptions): ChartProgram;

Named option contracts: CreateGuidesOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
axes Optional / branch-dependent false \| CreateAxesOptions \| undefined
grid Optional / branch-dependent false \| CreateGridOptions \| undefined
legend Optional / branch-dependent false \| LegendOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createGuides({ axes?, grid?, legend? })

Create applicable axes, grids, and legends; omitted branches infer applicability, false skips a branch, and explicit direction objects enable only named directions: axes:{x:false} requests neither axis while axes:{x:false,y:{}} requests y. Automatic calls preserve existing guide collections and add missing applicable collections; explicit collection objects retain strict create semantics. Datum-only anchors do not infer axes. An automatic call on an existing chart that has no applicable guides succeeds without adding graphics. An explicit all-false request or a chart without marks still fails. On facet parents this action updates the retained source and rederives its panels while preserving the parent title and guide policy. Guides

removeLegend

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeLegend(options?: RemoveLegendOptions): ChartProgram;

Named option contracts: RemoveLegendOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
target Optional / branch-dependent string \| undefined
channels Optional / branch-dependent readonly ("color" \| "opacity" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth")[] \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

removeLegend({ target?, channels? })

Remove every legend block owned by one mark when channels is omitted, or remove selected channels while preserving mark encodings, scales, and unrelated blocks. Partial categorical removal retains remaining channels, styles, title visibility, layout and item order; automatic symbols are inferred again. Legends

createTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createTitle(options: TitleOptions): ChartProgram;

Named option contracts: TitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
text Required string
subtitle Optional / branch-dependent string \| undefined
position Optional / branch-dependent "bottom" \| "left" \| "right" \| "top" \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
offset Optional / branch-dependent number \| undefined
alongOffset Optional / branch-dependent number \| undefined
gap Optional / branch-dependent number \| undefined
maxWidth Optional / branch-dependent number \| undefined
wrap Optional / branch-dependent "character" \| "word" \| undefined
lineHeight Optional / branch-dependent number \| undefined
subtitleLineHeight Optional / branch-dependent number \| undefined
titleStyle Optional / branch-dependent TitleTextStyleOptions \| undefined
subtitleStyle Optional / branch-dependent TitleTextStyleOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createTitle({
  text, subtitle?, position?, align?, offset?, alongOffset?, gap?,
  maxWidth?, wrap?, lineHeight?,
  titleStyle?, subtitleStyle?
})

Create a chart title and optional subtitle. Explicit newlines retain their line spacing; blank lines reserve space without painted text. Each string requires at least one non-empty hard line. On facet parents, alongOffset shifts the full title/subtitle block horizontally from the translated child-plot alignment anchor. Text outside the composed Canvas is rejected. Titles

editTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editTitle(options: EditTitleOptions): ChartProgram;

Named option contracts: EditTitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
text Optional / branch-dependent string \| undefined
subtitle Optional / branch-dependent string \| false \| undefined
position Optional / branch-dependent "bottom" \| "left" \| "right" \| "top" \| undefined
align Optional / branch-dependent "center" \| "left" \| "right" \| undefined
offset Optional / branch-dependent number \| undefined
alongOffset Optional / branch-dependent number \| undefined
gap Optional / branch-dependent number \| undefined
maxWidth Optional / branch-dependent number \| undefined
wrap Optional / branch-dependent "character" \| "word" \| undefined
lineHeight Optional / branch-dependent number \| undefined
subtitleLineHeight Optional / branch-dependent number \| undefined
titleStyle Optional / branch-dependent TitleTextStyleOptions \| undefined
subtitleStyle Optional / branch-dependent TitleTextStyleOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editTitle({
  text?, subtitle?, position?, align?, offset?, alongOffset?, gap?,
  maxWidth?, wrap?, lineHeight?,
  titleStyle?, subtitleStyle?
})

Partially edit the existing title. subtitle: false removes the subtitle; omitted properties remain unchanged. Titles

removeTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeTitle(): ChartProgram;
Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

This action takes no named options.

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

removeTitle()

Remove the complete chart title and subtitle resource. Titles

createThetaAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createThetaAxis(options?: CompleteThetaAxisOptions): ChartProgram;

Named option contracts: CompleteThetaAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
ticksAndLabels Optional / branch-dependent false \| ThetaTicksAndLabelsOptions \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
title Optional / branch-dependent false \| PolarTitleOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createThetaAxis({ scale?, coordinate?, line?, ticksAndLabels?, title? } = {})

Create the complete outer circular theta axis. Axes

createRadialAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createRadialAxis(options?: CompleteRadialAxisOptions): ChartProgram;

Named option contracts: CompleteRadialAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
angle Optional / branch-dependent number \| undefined
title Optional / branch-dependent false \| RadialTitleOptions \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| PolarTicksAndLabelsOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createRadialAxis({ scale?, coordinate?, angle?, line?, ticksAndLabels?, title? } = {})

Create the complete center-to-edge radial axis; angle defaults to 90. Axes

editThetaAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editThetaAxis(options: EditThetaAxisOptions): ChartProgram;

Named option contracts: EditThetaAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
labels Optional / branch-dependent false \| ThetaAxisLabelOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| ThetaTicksAndLabelsOptions \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticks Optional / branch-dependent false \| PolarTickOptions \| undefined
title Optional / branch-dependent false \| PolarTitleOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editThetaAxis({ line?, ticks?, labels?, ticksAndLabels?, title? })

Edit selected theta-axis components. Axes

editRadialAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editRadialAxis(options: EditRadialAxisOptions): ChartProgram;

Named option contracts: EditRadialAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
title Optional / branch-dependent false \| RadialTitleOptions \| undefined
angle Optional / branch-dependent number \| undefined
line Optional / branch-dependent false \| AxisLineStyleOptions \| undefined
ticks Optional / branch-dependent false \| PolarTickOptions \| undefined
labels Optional / branch-dependent false \| PolarLabelOptions \| undefined
ticksAndLabels Optional / branch-dependent false \| PolarTicksAndLabelsOptions \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editRadialAxis({ angle?, line?, ticks?, labels?, ticksAndLabels?, title? })

Edit selected radial components; angle moves the whole axis. Axes

removeThetaAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeThetaAxis(options?: Omit<RemoveAxisOptions, "target">): ChartProgram;

Named option contracts: RemoveAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
coordinate Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

removeThetaAxis({ scale?, coordinate? } = {})

Remove the complete theta-axis resource. Axes

removeRadialAxis

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

removeRadialAxis(options?: Omit<RemoveAxisOptions, "target">): ChartProgram;

Named option contracts: RemoveAxisOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
coordinate Optional / branch-dependent string \| undefined
scale Optional / branch-dependent string \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

removeRadialAxis({ scale?, coordinate? } = {})

Remove the complete radial-axis resource. Axes

createThetaAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createThetaAxisLine(options?: CreateThetaAxisLineOptions): ChartProgram;

Named option contracts: CreateThetaAxisLineOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createThetaAxisLine({ scale?, coordinate?, color?, lineWidth? } = {})

Create missing theta-axis line independently of the other components. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editThetaAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editThetaAxisLine(options?: AxisLineStyleOptions): ChartProgram;

Named option contracts: AxisLineStyleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editThetaAxisLine({ color?, lineWidth? } = {})

Edit the outer baseline style. Axes

createRadialAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createRadialAxisLine(options?: CreateRadialAxisLineOptions): ChartProgram;

Named option contracts: CreateRadialAxisLineOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
angle Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createRadialAxisLine({ scale?, coordinate?, angle?, color?, lineWidth? } = {})

Create missing radial-axis line independently of the other components. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editRadialAxisLine

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editRadialAxisLine(options?: AxisLineStyleOptions): ChartProgram;

Named option contracts: AxisLineStyleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editRadialAxisLine({ color?, lineWidth? } = {})

Edit the radial baseline style. Axes

createThetaAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createThetaAxisTicks(options?: CreateThetaAxisTicksOptions): ChartProgram;

Named option contracts: CreateThetaAxisTicksOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createThetaAxisTicks({ scale?, coordinate?, count?, values?, length?, color?, lineWidth? } = {})

Create missing theta-axis ticks independently of the other components. Use count or exact values, never both. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editThetaAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editThetaAxisTicks(options?: PolarTickOptions): ChartProgram;

Named option contracts: PolarTickOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editThetaAxisTicks({ count?, values?, length?, color?, lineWidth? } = {})

Edit theta tick geometry and style. Axes

createRadialAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createRadialAxisTicks(options?: CreateRadialAxisTicksOptions): ChartProgram;

Named option contracts: CreateRadialAxisTicksOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
angle Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createRadialAxisTicks({ scale?, coordinate?, angle?, count?, values?, length?, color?, lineWidth? } = {})

Create missing radial-axis ticks independently of the other components. Use count or exact values, never both. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editRadialAxisTicks

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editRadialAxisTicks(options?: PolarTickOptions): ChartProgram;

Named option contracts: PolarTickOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
length Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editRadialAxisTicks({ count?, values?, length?, color?, lineWidth? } = {})

Edit radial tick geometry and style. Axes

createThetaAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createThetaAxisLabels(options?: CreateThetaAxisLabelsOptions): ChartProgram;

Named option contracts: CreateThetaAxisLabelsOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createThetaAxisLabels({ scale?, coordinate?, count?, values?, offset?, format?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Create missing theta-axis labels independently of the other components. Use count or exact values, never both. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editThetaAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editThetaAxisLabels(options?: ThetaAxisLabelOptions): ChartProgram;

Named option contracts: ThetaAxisLabelOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editThetaAxisLabels({ count?, values?, offset?, format?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Edit perimeter theta labels. Axes

createRadialAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createRadialAxisLabels(options?: CreateRadialAxisLabelsOptions): ChartProgram;

Named option contracts: CreateRadialAxisLabelsOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
angle Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createRadialAxisLabels({ scale?, coordinate?, angle?, count?, values?, offset?, format?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Create missing radial-axis labels independently of the other components. Use count or exact values, never both. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editRadialAxisLabels

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editRadialAxisLabels(options?: PolarLabelOptions): ChartProgram;

Named option contracts: PolarLabelOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
offset Optional / branch-dependent number \| undefined
format Optional / branch-dependent AxisFormat \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editRadialAxisLabels({ count?, values?, offset?, format?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Edit radial value labels. Axes

createThetaAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createThetaAxisTitle(options?: CreateThetaAxisTitleOptions): ChartProgram;

Named option contracts: CreateThetaAxisTitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
text Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createThetaAxisTitle({ scale?, coordinate?, text?, offset?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Create missing theta-axis title independently of the other components. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editThetaAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editThetaAxisTitle(options?: PolarTitleOptions): ChartProgram;

Named option contracts: PolarTitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
text Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editThetaAxisTitle({ text?, offset?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Edit the theta title. Axes

createRadialAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createRadialAxisTitle(options?: CreateRadialAxisTitleOptions): ChartProgram;

Named option contracts: CreateRadialAxisTitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
position Optional / branch-dependent "inside" \| "outside" \| undefined
text Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
angle Optional / branch-dependent number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createRadialAxisTitle({ scale?, coordinate?, angle?, text?, offset?, color?, fontSize?, fontFamily?, fontWeight?, position? } = {})

Create missing radial-axis title independently of the other components. Reuse stored axis bindings or infer one compatible Polar encoding. Existing components are edited with the matching edit action. Axes

editRadialAxisTitle

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editRadialAxisTitle(options?: RadialTitleOptions): ChartProgram;

Named option contracts: RadialTitleOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
position Optional / branch-dependent "inside" \| "outside" \| undefined
text Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
color Optional / branch-dependent string \| undefined
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editRadialAxisTitle({ text?, position?, offset?, color?, fontSize?, fontFamily?, fontWeight? } = {})

Edit the radial title. position accepts "inside" or "outside" and defaults to the baseline midpoint inside the plot. Axes

createThetaGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createThetaGrid(options?: PolarGridOptions): ChartProgram;

Named option contracts: PolarGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createThetaGrid({ scale?, coordinate?, count?, values?, color?, lineWidth?, strokeDash? } = {})

Create theta spokes behind related marks. Grids

createRadialGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

createRadialGrid(options?: PolarGridOptions): ChartProgram;

Named option contracts: PolarGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
scale Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

createRadialGrid({ scale?, coordinate?, count?, values?, color?, lineWidth?, strokeDash? } = {})

Create concentric radial paths behind related marks. Grids

editThetaGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editThetaGrid(options: EditPolarGridOptions): ChartProgram;

Named option contracts: EditPolarGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editThetaGrid({ count?, values?, color?, lineWidth?, strokeDash? })

Edit the existing theta grid. Grids

editRadialGrid

API layer: user-facing. Authoring roles: H3.

Availability: Available by v0.0.13. See release compatibility.

editRadialGrid(options: EditPolarGridOptions): ChartProgram;

Named option contracts: EditPolarGridOptions.

Declared options

Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.

Option Presence Type
count Optional / branch-dependent number \| undefined
values Optional / branch-dependent readonly AxisValue[] \| undefined
color Optional / branch-dependent string \| undefined
lineWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent readonly number[] \| undefined

The following call patterns are abbreviated examples; the declaration above owns the complete option set.

editRadialGrid({ count?, values?, color?, lineWidth?, strokeDash? })

Edit the existing radial grid. Grids

createParallelAxes, createParallelAxis, editParallelAxis, removeParallelAxis, removeParallelAxes

createParallelAxes({ target?, coordinate? })
createParallelAxis({ field, target?, line?, ticks?, labels?, ticksAndLabels?, title? })
editParallelAxis({ field, target?, line?, ticks?, labels?, ticksAndLabels?, title? })
removeParallelAxis({ field, target? })
removeParallelAxes({ target?, coordinate? })

Full-only field-selected Parallel guides. Create requires missing resources; edit/removal requires existing resources. Component false skips creation or removes an existing component. Group and individual tick/label options are exclusive. Field recipes and explicit titles survive dimension reordering. The last component removal clears the guide owner. Axes owns exact styles, defaults, inference, validation and replay behavior.

Complete single-channel axes

createXAxis({ scale?, coordinate?, position?, line?, ticksAndLabels?, title? })
createYAxis({ scale?, coordinate?, position?, line?, ticksAndLabels?, title? })
editXAxis({ position?, line?: false | {...}, ticks?: false | {...},
  labels?: false | {...}, ticksAndLabels?: false | {...}, title?: false | {...} })
editYAxis({ position?, line?: false | {...}, ticks?: false | {...},
  labels?: false | {...}, ticksAndLabels?: false | {...}, title?: false | {...} })

Cartesian and Polar complete-axis creators accept false for line, ticksAndLabels, or title to omit those components; at least one must remain enabled. Complete-axis edits update only the selected components of an existing axis. Each component accepts its edit object or false for removal. Use ticksAndLabels for a coordinated tick/label edit or removal, or ticks and labels for independent edits/removals; do not combine both forms. Removal preserves scale, coordinate, encoding, and data, while the last component also cleans the empty axis state.

Cartesian createXAxis/createYAxis can bind a standalone scale without marks: provide both coordinate and scale, with an existing Cartesian coordinate and explicit nonempty scale domain. The default title is the scale ID. Scale, Canvas, and coordinate frame edits update the axis. Auto domains require data consumers; unrelated channel or coordinate bindings are rejected.

Axis lines, ticks, and labels

createXAxisLine({ scale?, position?, color?, lineWidth? })
createYAxisLine({ scale?, position?, color?, lineWidth? })
editXAxisLine({ position?, color?, lineWidth? })
editYAxisLine({ position?, color?, lineWidth? })

createXAxisTicks({ scale?, position?, count?, values?, length?, color?, lineWidth?, alongOffset? })
createYAxisTicks({ scale?, position?, count?, values?, length?, color?, lineWidth?, alongOffset? })
editXAxisTicks({ position?, count?, values?, length?, color?, lineWidth?, alongOffset? })
editYAxisTicks({ position?, count?, values?, length?, color?, lineWidth?, alongOffset? })

createXAxisLabels({
  scale?, position?, count?, values?, offset?, format?, color?,
  fontSize?, fontFamily?, fontWeight?, alongOffset?, flush?, flushThreshold?, labelMap?, colorMap?
})
createYAxisLabels({
  scale?, position?, count?, values?, offset?, format?, color?,
  fontSize?, fontFamily?, fontWeight?, alongOffset?, flush?, flushThreshold?, labelMap?, colorMap?
})
editXAxisLabels({
  position?, count?, values?, offset?, format?, color?,
  fontSize?, fontFamily?, fontWeight?, alongOffset?, flush?, flushThreshold?, labelMap?, colorMap?
})
editYAxisLabels({
  position?, count?, values?, offset?, format?, color?,
  fontSize?, fontFamily?, fontWeight?, alongOffset?, flush?, flushThreshold?, labelMap?, colorMap?
})

Axis position is "bottom" | "top" for x and "left" | "right" for y. Label format accepts "auto", { decimals }, .0–.12 precision with f, %, or e, or a UTC sequence of %Y/%m/%d/%b directives and literals when compatible with the resolved scale. Use %% for a literal percent; unknown or dangling directives reject.

Cartesian flushThreshold optionally limits flush: true to mapped ticks within a non-negative logical-pixel distance of a range edge. Omission preserves complete label containment. Use "auto" to clear a stored threshold; zero selects exact endpoints. Text bounds do not control threshold selection.

Tick/label groups and axis titles

createXAxisTicksAndLabels({ scale?, position?, count?, values?, ticks?, labels? })
createYAxisTicksAndLabels({ scale?, position?, count?, values?, ticks?, labels? })
editXAxisTicksAndLabels({ position?, count?, values?, ticks?, labels? })
editYAxisTicksAndLabels({ position?, count?, values?, ticks?, labels? })

createXAxisTitle({
  text?, scale?, position?, at?, offset?, rotation?, color?,
  fontSize?, fontFamily?, fontWeight?, overlap?
})
createYAxisTitle({
  text?, scale?, position?, at?, offset?, rotation?, color?,
  fontSize?, fontFamily?, fontWeight?, overlap?
})
editXAxisTitle({
  text?, position?, at?, offset?, rotation?, color?,
  fontSize?, fontFamily?, fontWeight?, overlap?
})
editYAxisTitle({
  text?, position?, at?, offset?, rotation?, color?,
  fontSize?, fontFamily?, fontWeight?, overlap?
})

Cartesian title text keeps explicit line breaks (LF, CRLF, or CR), including blank lines. Lines form a centered block with spacing of fontSize * 1.2; rotation applies to the complete block. Creation, editing, Canvas/scale updates, facets and saved programs retain the same lines. Canvas and label-clearance checks use their full bounds. Returning to single-line text removes the old lines.

Cartesian title rotation accepts a finite legacy number in radians or { value, unit: "degrees" | "radians" }. Both forms normalize to concrete radians. Polar component angle remains degree-valued placement.

Cartesian title overlap is "error" by default. Explicit "allow" permits only that title to intersect labels of its own axis. Label-label overlap and Canvas bounds remain independent checks. Complete axes accept the policy in title; focused and whole-axis editors preserve it when omitted. Resetting to "error" requires a valid final layout. The same policy applies when labels are edited after the title and through Canvas, scale, data, facet and saved-program replay.

Complete axis removal

removeXAxis({ coordinate?, scale? })
removeYAxis({ coordinate?, scale? })

Remove one complete Cartesian axis. Optional selectors must match the existing resource. Axes

Directional grids

createHorizontalGrid({ scale?, coordinate?, count?, values?, color?, lineWidth?, strokeDash?, alongOffset? })
createVerticalGrid({ scale?, coordinate?, count?, values?, color?, lineWidth?, strokeDash?, alongOffset? })
editHorizontalGrid({ count?, values?, color?, lineWidth?, strokeDash? })
editVerticalGrid({ count?, values?, color?, lineWidth?, strokeDash? })
editGrid({
  horizontal?: { count?, values?, color?, lineWidth?, strokeDash? },
  vertical?: { count?, values?, color?, lineWidth?, strokeDash? }
})

Directional grid edits require an existing grid. Their values option accepts an exact finite array or "auto" to restore current axis/scale inference. editGrid applies one or both directional edits through the same actions.

removeGrid({ horizontal?, vertical? })

Remove all existing directions when omitted, or only directions selected with true.

See Coordinates and Advanced axis components.

Focused legend edits

editLegendLayout({
  target?, channel?, position?, layout?, align?, direction?, columns?, offset?,
  titlePosition?, itemGap?, rowPadding?, titlePadding?
})
editLegendLabels({ target?, channel?, offset?, color?, fontSize?, fontFamily?, fontWeight?, format? })
editLegendTitle({
  target?, channel?, title?, color?, fontSize?, fontFamily?, fontWeight?, align?
})
editLegendSymbols({ target?, channel?, symbol?, count?, gradient? })
editLegendBorder({ target?, channel?, border })

editLegendLayout owns content spacing and its edit-only "auto" reset. Title editing remains text/style-only; block editing retains its original gap contract. See content spacing.

Edit one legend component without constructing the nested options accepted by editLegend. Each action uses the same target inference, validation, and rematerialization as editLegend. At least one component change is required. Editing legends

Action Reference · Chart API · Supported Features

Documentation provenance

293 actions · sha256:e755591a2e5f5e2b494867583876e28020a478c5220b77bdc6ad469a6224891d