Published-release documentation · release compatibility

Charts, Data, and Composition 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.

createCanvas

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

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

createCanvas(options?: CanvasOptions): ChartProgram;

Named option contracts: CanvasOptions.

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
width Optional / branch-dependent number \| undefined
height Optional / branch-dependent number \| undefined
background Optional / branch-dependent string \| undefined
margin Optional / branch-dependent number \| Partial<Record<"bottom" \| "left" \| "right" \| "top", number>> \| undefined
plot Optional / branch-dependent false \| { width: number; height: number; } \| undefined
plotBorder Optional / branch-dependent false \| { color?: string \| undefined; lineWidth?: number \| undefined; underlay?: boolean \| undefined; } \| undefined

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

createCanvas({ width?, height?, background?, margin?, plot? })

Create the program’s Canvas and plot bounds. Canvas options

editCanvas

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

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

editCanvas(options: CanvasOptions): ChartProgram;

Named option contracts: CanvasOptions.

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
width Optional / branch-dependent number \| undefined
height Optional / branch-dependent number \| undefined
background Optional / branch-dependent string \| undefined
margin Optional / branch-dependent number \| Partial<Record<"bottom" \| "left" \| "right" \| "top", number>> \| undefined
plot Optional / branch-dependent false \| { width: number; height: number; } \| undefined
plotBorder Optional / branch-dependent false \| { color?: string \| undefined; lineWidth?: number \| undefined; underlay?: boolean \| undefined; } \| undefined

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

editCanvas({ width?, height?, background?, margin?, plot? })

Edit Canvas properties and rematerialize connected consumers. Canvas options

fitCanvas

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

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

fitCanvas(options?: FitCanvasOptions): ChartProgram;

Named option contracts: FitCanvasOptions.

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
padding Optional / branch-dependent number \| undefined
minPlotWidth Optional / branch-dependent number \| undefined
minPlotHeight Optional / branch-dependent number \| undefined
iterationLimit Optional / branch-dependent number \| undefined
overflow Optional / branch-dependent "error" \| "report" \| undefined

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

fitCanvas({ padding?, minPlotWidth?, minPlotHeight?, iterationLimit?, overflow? })

Fit an existing Full unit chart by shrinking its margins on a fixed Canvas. The action uses deterministic 0.25px probes and preserves semantic state, explicit scale ranges, guide policies, Canvas width, and Canvas height. The default overflow policy rejects an unsatisfied minimum plot atomically; overflow: "report" stores a structured result on materializationConfigs.fitting.

applyTextMetrics

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

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

applyTextMetrics(options: ApplyTextMetricsOptions): ChartProgram;

Named option contracts: ApplyTextMetricsOptions.

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
profile Required TextMetricsProfile

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

applyTextMetrics({ profile })

Apply a host-measured width profile to title, axis, legend, label, and composition layout. See Measured text layout for the exact profile format, matching rules, propagation, and executable example.

removeTextMetrics

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

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

removeTextMetrics(): 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.

removeTextMetrics()

Remove the active profile and rematerialize with deterministic width estimates. See Measured text layout for lifecycle and composition behavior.

applyTheme

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

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

applyTheme(options: ApplyThemeOptions): ChartProgram;

Named option contracts: ApplyThemeOptions.

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
theme Required ThemeDefinition
scope Optional / branch-dependent "descendants" \| "self" \| undefined

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

applyTheme({ theme, scope? })

Use "light", "dark", or a custom partial definition such as:

program.applyTheme({
  theme: {
    base: "light",
    tokens: {
      mark: "#b91c1c",
      grid: "#d1fae5",
      fontFamily: "Inter"
    }
  }
});

Custom definitions accept these token keys: background, mark, text, strongText, mutedText, axis, axisTitle, grid, border, sizeSymbol, regressionBand, boxLine, boxMedian, referenceLine, referenceBand, gradientCenter, highlight, fontFamily, axisLabel, axisLabelFontFamily, axisTitleFontFamily, axisLabelFontSize, and axisTitleFontSize. Font sizes must be positive finite numbers; other tokens must be non-empty strings. A new theme replaces the previous request; omitted partial tokens come from the new base.

Axis label and title font tokens affect only axes, including Polar and Parallel axes. Omitted role fonts fall back to fontFamily; omitted sizes retain each axis family’s default. axisLabel overrides label color; without it, Cartesian and Polar labels use text, and Parallel labels use axis. axisTitle controls axis title color. Explicit axis styles win, even when equal to a built-in default. Active fonts are used during initial guide layout as well as later theme edits.

A unit chart defaults to scope: "self". A composition defaults to scope: "descendants", which updates its root, current nested children, and children later rebuilt by facet or repeat edits. Use scope: "self" on a composition to change only its root Canvas background.

Explicit mark, guide, title, legend block, facet header, and highlight styles take precedence. Field-driven palettes, semantic data, scales, grouping, statistics, and ordering are preserved. Font token changes recalculate text bounds and composition layout.

removeTheme

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

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

removeTheme(): 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.

removeTheme()

Remove the most recently applied theme scope on that receiver. Composition removal deletes only that composition’s frame, so a previously hidden child or ancestor theme becomes active again. Explicit local styles remain unchanged.

createData

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

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

createData<Row extends object>(options: CreateDataOptions<Row>): ChartProgram;

Named option contracts: CreateDataOptions.

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
id Optional / branch-dependent string \| undefined
values Required readonly (Row extends readonly unknown[] ? never : Row & StoredCell<Row>)[]
schema Optional / branch-dependent SourceSchemaInput \| undefined

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

createData({ id?, values })

Create one immutable named dataset. Data

reviseData

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

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

reviseData<Row extends object>(options: ReviseDataOptions<Row>): ChartProgram;

Named option contracts: ReviseDataOptions.

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
source Required string
id Required string
values Required readonly (Row extends readonly unknown[] ? never : Row & StoredCell<Row>)[]
schema Optional / branch-dependent SourceSchemaInput \| undefined

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

reviseData({ source, id, values })

Create a fresh original-data revision and atomically update its dependent chart. The original is retained; IDs and styles of existing chart owners remain stable. See Data updates.

removeData

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

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

removeData(options: RemoveResourceOptions): ChartProgram;

Named option contracts: RemoveResourceOptions.

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
id Required string

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

removeData({ id })

Remove one explicitly named dataset only when no mark, downstream dataset, retained recipe, or owned resource still refers to it. Context and historical trace mentions do not keep it alive. A standalone logical derived-data owner removes its current snapshot and owner record together. This Full-only action does not infer, cascade, or change graphics. Source and Derived Data

removeScale

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

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

removeScale(options: RemoveResourceOptions): ChartProgram;

Named option contracts: RemoveResourceOptions.

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
id Required string

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

removeScale({ id })

Remove one explicitly named unused semantic scale and its resolved cache entry. Every encoding, Parallel dimension, guide, and retained authoring binding is checked first. The Full-only action does not rewire consumers or rebuild graphics. Scale Options

removeCoordinate

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

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

removeCoordinate(options: RemoveResourceOptions): ChartProgram;

Named option contracts: RemoveResourceOptions.

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
id Required string

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

removeCoordinate({ id })

Remove one explicitly named unused coordinate after checking layer, guide, annotation, and retained data-space bindings. A context pointer is cleared, but no replacement coordinate is inferred. This action is Full-only. Coordinates

bindMarkData

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

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

bindMarkData(options: BindMarkDataOptions): ChartProgram;

Named option contracts: BindMarkDataOptions.

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 Required string
data Required string

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

bindMarkData({ target, data })

Atomically connect one independent mark to an existing materialized dataset. The action preflights its fields, scales, guides, labels, selections, and highlights before it rematerializes every registered consumer. Source and Derived Data

filterData

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

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

filterData(options: FilterDataOptions): ChartProgram;

Named option contracts: FilterDataOptions.

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
id Required string
source Optional / branch-dependent string \| undefined
field Required string
nulls Optional / branch-dependent "exclude" \| "include" \| undefined
oneOf Optional / branch-dependent readonly [DatasetScalar, ...DatasetScalar[]] \| undefined
noneOf Optional / branch-dependent readonly [DatasetScalar, ...DatasetScalar[]] \| undefined
predicate Optional / branch-dependent FilterComparison \| undefined
range Optional / branch-dependent FilterRange \| undefined

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

filterData({ id, source?, field, oneOf | noneOf | predicate | range, nulls? })

Create an immutable named derived dataset using exactly one membership, comparison, or range filter. The source defaults to current data. Data

createDensityData

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

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

createDensityData(options: DensityDataOptions): ChartProgram;

Named option contracts: DensityDataOptions.

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
id Required string
source Optional / branch-dependent string \| undefined
field Required string
groupBy Optional / branch-dependent string \| undefined
bandwidth Optional / branch-dependent number \| "auto" \| undefined
extent Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
steps Optional / branch-dependent number \| undefined
kernel Optional / branch-dependent DensityKernel \| undefined
normalization Optional / branch-dependent DensityNormalization \| undefined
weight Optional / branch-dependent StatisticalWeight \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined
as Optional / branch-dependent readonly [string, string] \| undefined

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

createDensityData({
  id, source?, field, groupBy?, bandwidth?, extent?, steps?,
  kernel?, normalization?, weight?, missing?, as?
})

Create immutable KDE rows on one shared inclusive sample grid. Source defaults to current data, steps to 100, bandwidth to an automatic Scott-rule estimate, kernel to "gaussian", and normalization to "unit". Data

createRegressionData

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

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

createRegressionData(options: RegressionDataOptions): ChartProgram;

Named option contracts: RegressionDataOptions.

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
id Required string
source Optional / branch-dependent string \| undefined
x Required string
y Required string
groupBy Optional / branch-dependent string \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined
method Optional / branch-dependent "exp" \| "linear" \| "loess" \| "polynomial" \| undefined
interval Optional / branch-dependent false \| RegressionInterval \| undefined
degree Optional / branch-dependent number \| undefined
span Optional / branch-dependent number \| undefined
robustIterations Optional / branch-dependent number \| undefined
confidenceMethod Optional / branch-dependent ConfidenceIntervalMethod \| undefined
level Optional / branch-dependent number \| undefined
confidence Optional / branch-dependent number \| undefined
predict Optional / branch-dependent RegressionPredictOptions \| undefined

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

createRegressionData({
  id, source?, x, y, groupBy?, method?, degree?, span?, robustIterations?,
  confidenceMethod?, level?, confidence?, interval?, predict?, missing?
})

Create immutable linear, polynomial, LOESS, or exponential fitted rows at observed unique x values. Linear and polynomial fits support normal or Student-t mean or prediction bounds; LOESS is line-only. Optional robustIterations (integer 0..32, default 0) adds residual reweighting; see regression for the estimator policy. Data

createRegressionStatisticsData

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

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

createRegressionStatisticsData(options: RegressionStatisticsDataOptions): ChartProgram;

Named option contracts: RegressionStatisticsDataOptions.

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
id Required string
source Required string

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

createRegressionStatisticsData({ id, source })

Create observation counts, intercepts, slopes, and R-squared from an explicit existing linear fit. Grouped fits retain their original grouping field and typed first-seen group order. Constant responses produce rSquared: null. Linear fit statistics

createWindowData

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

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

createWindowData(options: WindowDataOptions): ChartProgram;

Named option contracts: WindowDataOptions.

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
id Required string
source Optional / branch-dependent string \| undefined
partitionBy Optional / branch-dependent string \| readonly string[] \| undefined
sortBy Optional / branch-dependent readonly WindowSort[] \| undefined
operations Required readonly WindowOperation[]
temporalUnit Optional / branch-dependent TemporalInputUnit \| undefined

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

createWindowData({ id, source?, partitionBy?, sortBy?, operations, temporalUnit? })

Create an immutable derived dataset by applying ordered row-number, rank, dense-rank, cumulative-sum, lag, lead, moving-mean, or moving-sum operations within optional partitions. Moving frames support row counts or closed elapsed durations, minPeriods, and explicit nullish skipping. The calculation follows a stable sort while the output preserves source row order. Window data transforms

createTimeUnitData

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

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

createTimeUnitData(options: TimeUnitDataOptions): ChartProgram;

Named option contracts: TimeUnitDataOptions.

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
missing Optional / branch-dependent "error" \| "null" \| undefined
id Required string
source Optional / branch-dependent string \| undefined
field Required string
temporalUnit Optional / branch-dependent TemporalInputUnit \| undefined
as Optional / branch-dependent string \| undefined
timeZone Optional / branch-dependent string \| undefined
unit Required "day" \| "hour" \| "minute" \| "month" \| "quarter" \| "second" \| "week" \| "weekday" \| "year"
weekStartsOn Optional / branch-dependent 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined
weekRule Optional / branch-dependent "calendar" \| "iso" \| undefined

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

createTimeUnitData({ id, source?, field, temporalUnit?, unit, as?, timeZone?, weekStartsOn?, weekRule? })

Create an immutable row-preserving dataset with one UTC or IANA-zone calendar bucket timestamp, including week, or a nominal local weekday field. Omit as to use ${field}_${unit}; output-name collisions are rejected. Time-unit data transforms

createBin2DData

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

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

createBin2DData(options: Bin2DDataOptions): ChartProgram;

Named option contracts: Bin2DDataOptions.

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
id Required string
source Optional / branch-dependent string \| undefined
x Required string
y Required string
bins Optional / branch-dependent number \| Bin2DCounts \| undefined
extent Optional / branch-dependent Bin2DExtent \| undefined
assignment Optional / branch-dependent "edges" \| "step" \| undefined
includeEmpty Optional / branch-dependent boolean \| undefined
members Optional / branch-dependent boolean \| undefined
as Optional / branch-dependent Bin2DOutputFields \| undefined

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

createBin2DData({
  id, source?, x, y, bins?, extent?, includeEmpty?, members?, as?
})

Aggregate finite x/y pairs into deterministic rectangular cell bounds and counts. Reusing the logical ID creates an immutable revision and rematerializes direct visual consumers. Rectangular 2D bins

editBin2DData

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

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

editBin2DData(options: EditBin2DDataOptions): ChartProgram;

Named option contracts: EditBin2DDataOptions.

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
source Optional / branch-dependent string \| undefined
x Optional / branch-dependent string \| undefined
y Optional / branch-dependent string \| undefined
bins Optional / branch-dependent number \| Bin2DCounts \| undefined
extent Optional / branch-dependent Bin2DExtent \| undefined
assignment Optional / branch-dependent "edges" \| "step" \| undefined
includeEmpty Optional / branch-dependent boolean \| undefined
members Optional / branch-dependent boolean \| undefined
as Optional / branch-dependent DatasetBin2DOutputFields \| undefined
dependents Optional / branch-dependent DerivedDataDependents \| undefined

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

editBin2DData({
  target?, source?, x?, y?, bins?, extent?, includeEmpty?, members?, as?,
  dependents?
})

Partially revise the current or unique logical 2D-bin owner. Omitted top-level transform options are preserved; successful edits create an immutable revision, rebind direct visual consumers, and safely release the prior revision. Rectangular 2D bins

editDerivedData

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

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

editDerivedData(options: EditDerivedDataOptions): ChartProgram;

Named option contracts: EditDerivedDataOptions.

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 Required string
definition Required RequestedDatasetTransform
dependents Optional / branch-dependent DerivedDataDependents \| undefined

Behavior, inference, resets, and errors: Focused core data editing.

editFilteredData

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

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

editFilteredData(options: EditFilteredDataOptions): ChartProgram;

Named option contracts: EditFilteredDataOptions.

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
oneOf Optional / branch-dependent readonly [DatasetScalar, ...DatasetScalar[]] \| undefined
noneOf Optional / branch-dependent readonly [DatasetScalar, ...DatasetScalar[]] \| undefined
predicate Optional / branch-dependent FilterComparison \| undefined
range Optional / branch-dependent FilterRangePatch \| undefined
target Required string
field Optional / branch-dependent string \| undefined
nulls Optional / branch-dependent "exclude" \| "include" \| false \| undefined
dependents Optional / branch-dependent DerivedDataDependents \| undefined

Behavior, inference, resets, and errors: Focused core data editing.

editTimeUnitData

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

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

editTimeUnitData(options: EditTimeUnitDataOptions): ChartProgram;

Named option contracts: EditTimeUnitDataOptions.

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 Required string
dependents Optional / branch-dependent DerivedDataDependents \| undefined
missing Optional / branch-dependent "error" \| "null" \| undefined
field Optional / branch-dependent string \| undefined
temporalUnit Optional / branch-dependent TemporalInputUnit \| undefined
as Optional / branch-dependent string \| undefined
timeZone Optional / branch-dependent string \| undefined
unit Optional / branch-dependent "day" \| "hour" \| "minute" \| "month" \| "quarter" \| "second" \| "week" \| "weekday" \| "year" \| undefined
weekStartsOn Optional / branch-dependent 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined
weekRule Optional / branch-dependent "calendar" \| "iso" \| undefined

Behavior, inference, resets, and errors: Focused core data editing.

editWindowData

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

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

editWindowData(options: EditWindowDataOptions): ChartProgram;

Named option contracts: EditWindowDataOptions.

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 Required string
dependents Optional / branch-dependent DerivedDataDependents \| undefined
partitionBy Optional / branch-dependent string \| readonly string[] \| undefined
sortBy Optional / branch-dependent readonly WindowSort[] \| undefined
operations Optional / branch-dependent readonly WindowOperation[] \| undefined
temporalUnit Optional / branch-dependent TemporalInputUnit \| undefined

Behavior, inference, resets, and errors: Focused core data editing.

editDensityData

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

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

editDensityData(options: EditDensityDataOptions): ChartProgram;

Named option contracts: EditDensityDataOptions.

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 Required string
dependents Optional / branch-dependent DerivedDataDependents \| undefined
field Optional / branch-dependent string \| undefined
groupBy Optional / branch-dependent string \| undefined
bandwidth Optional / branch-dependent number \| "auto" \| undefined
extent Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
steps Optional / branch-dependent number \| undefined
kernel Optional / branch-dependent DensityKernel \| undefined
normalization Optional / branch-dependent DensityNormalization \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined
as Optional / branch-dependent readonly [string, string] \| undefined
weight Optional / branch-dependent false \| StatisticalWeight \| undefined

Behavior, inference, resets, and errors: Focused core data editing.

editRegressionData

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

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

editRegressionData(options: EditRegressionDataOptions): ChartProgram;

Named option contracts: EditRegressionDataOptions.

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 Required string
dependents Optional / branch-dependent DerivedDataDependents \| undefined
method Optional / branch-dependent "exp" \| "linear" \| "loess" \| "polynomial" \| undefined
interval Optional / branch-dependent false \| RegressionInterval \| undefined
degree Optional / branch-dependent number \| undefined
span Optional / branch-dependent number \| undefined
robustIterations Optional / branch-dependent number \| undefined
confidenceMethod Optional / branch-dependent ConfidenceIntervalMethod \| undefined
level Optional / branch-dependent number \| undefined
confidence Optional / branch-dependent number \| undefined
predict Optional / branch-dependent RegressionPredictOptions \| undefined
x Optional / branch-dependent string \| undefined
y Optional / branch-dependent string \| undefined
groupBy Optional / branch-dependent string \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined

Behavior, inference, resets, and errors: Focused core data editing.

editRegressionStatisticsData

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

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

editRegressionStatisticsData(options?: EditRegressionStatisticsDataOptions): ChartProgram;

Named option contracts: EditRegressionStatisticsDataOptions.

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
source Optional / branch-dependent string \| undefined

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

editRegressionStatisticsData({ target?, source? })

Revise a standalone statistics owner’s linear fit source and replay its consumers atomically. Omitted source preserves the current fit. Target omission requires a current or unique statistics owner. Linear fit statistics

createCoordinate

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

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

createCoordinate(options?: CreateCoordinateOptions): ChartProgram;

Named option contracts: CreateCoordinateOptions.

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
id Optional / branch-dependent string \| undefined
type Optional / branch-dependent "cartesian" \| "parallel" \| "polar" \| undefined
layers Optional / branch-dependent readonly string[] \| undefined

Behavior, inference, resets, and errors: Semantic resources and regression layers.

editCoordinate

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

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

editCoordinate(options: EditCoordinateOptions): ChartProgram;

Named option contracts: EditCoordinateOptions.

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 Required string
aspect Optional / branch-dependent CoordinateAspect \| undefined
polarFrame Optional / branch-dependent PolarFrameOptions \| undefined

Behavior, inference, resets, and errors: Semantic resources and regression layers.

createScale

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

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

createScale(options: CreateScaleOptions): ChartProgram;

Named option contracts: CreateScaleOptions.

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
radialMapping Optional / branch-dependent RadialMapping \| undefined
id Required string
type Optional / branch-dependent ScaleType \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
emptyDomain Optional / branch-dependent "preserve" \| "require-explicit" \| undefined
range Optional / branch-dependent ScaleRange \| undefined
nice Optional / branch-dependent boolean \| LinearNiceCountOptions \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined
palette Optional / branch-dependent Palette \| undefined
interpolate Optional / branch-dependent ContinuousColorInterpolation \| undefined
whitePoint Optional / branch-dependent "d50" \| "d65" \| undefined
gamma Optional / branch-dependent number \| undefined
midpoint Optional / branch-dependent number \| "auto" \| undefined
unknown Optional / branch-dependent unknown

Behavior, inference, resets, and errors: Extension and scale contracts.

editScale

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

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

editScale(options: EditScaleOptions): ChartProgram;

Named option contracts: EditScaleOptions.

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
radialMapping Optional / branch-dependent RadialMapping \| undefined
id Optional / branch-dependent string \| undefined
type Optional / branch-dependent ScaleType \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
emptyDomain Optional / branch-dependent "preserve" \| "require-explicit" \| undefined
range Optional / branch-dependent ScaleRange \| undefined
nice Optional / branch-dependent boolean \| LinearNiceCountOptions \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined
palette Optional / branch-dependent Palette \| undefined
interpolate Optional / branch-dependent ContinuousColorInterpolation \| undefined
whitePoint Optional / branch-dependent "auto" \| "d50" \| "d65" \| undefined
gamma Optional / branch-dependent number \| "auto" \| undefined
midpoint Optional / branch-dependent number \| "auto" \| undefined
unknown Optional / branch-dependent unknown

Behavior, inference, resets, and errors: Extension and scale contracts.

editXScale

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

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

editXScale(options: EditXScaleOptions): ChartProgram;

Named option contracts: EditXScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
reverse Optional / branch-dependent boolean \| undefined
type Optional / branch-dependent "band" \| "linear" \| "log" \| "point" \| "pow" \| "sqrt" \| "symlog" \| "time" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
unknown Optional / branch-dependent number \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
clamp Optional / branch-dependent boolean \| undefined
nice Optional / branch-dependent boolean \| undefined
zero Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editYScale

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

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

editYScale(options: EditYScaleOptions): ChartProgram;

Named option contracts: EditYScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
reverse Optional / branch-dependent boolean \| undefined
type Optional / branch-dependent "band" \| "linear" \| "log" \| "point" \| "pow" \| "sqrt" \| "symlog" \| "time" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
unknown Optional / branch-dependent number \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
clamp Optional / branch-dependent boolean \| undefined
nice Optional / branch-dependent boolean \| undefined
zero Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editXOffsetScale

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

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

editXOffsetScale(options: EditXOffsetScaleOptions): ChartProgram;

Named option contracts: EditXOffsetScaleOptions.

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 Required string
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
reverse Optional / branch-dependent boolean \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editYOffsetScale

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

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

editYOffsetScale(options: EditYOffsetScaleOptions): ChartProgram;

Named option contracts: EditYOffsetScaleOptions.

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 Required string
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
reverse Optional / branch-dependent boolean \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editParallelScale

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

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

editParallelScale(options: EditParallelScaleOptions): ChartProgram;

Named option contracts: EditParallelScaleOptions.

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 Required string
dimension Required string
reverse Optional / branch-dependent boolean \| undefined
type Optional / branch-dependent "band" \| "linear" \| "log" \| "point" \| "pow" \| "sqrt" \| "symlog" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
unknown Optional / branch-dependent number \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
nice Optional / branch-dependent boolean \| LinearNiceCountOptions \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editThetaScale

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

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

editThetaScale(options: EditThetaScaleOptions): ChartProgram;

Named option contracts: EditThetaScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
type Optional / branch-dependent "band" \| "linear" \| "point" \| "time" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
nice Optional / branch-dependent boolean \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
paddingInner Optional / branch-dependent number \| undefined
paddingOuter Optional / branch-dependent number \| undefined
padding Optional / branch-dependent number \| undefined
align Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editRScale

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

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

editRScale(options: EditRScaleOptions): ChartProgram;

Named option contracts: EditRScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
type Optional / branch-dependent "linear" \| "log" \| "pow" \| "sqrt" \| "symlog" \| undefined
domain Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
nice Optional / branch-dependent boolean \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
radialMapping Optional / branch-dependent RadialMapping \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editColorScale

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

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

editColorScale(options: EditColorScaleOptions): ChartProgram;

Named option contracts: EditColorScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| readonly number[] \| readonly [unknown, unknown] \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly string[] \| { readonly palette: Palette; } \| { readonly palette: Palette; } \| readonly [string, string, ...string[]] \| undefined
palette Optional / branch-dependent "accent" \| "bluegreen" \| "blueorange" \| "bluepurple" \| "blues" \| "brownbluegreen" \| "browns" \| "category10" \| "category20" \| "category20b" \| "category20c" \| "cividis" \| "dark2" \| ... 59 more ... \| undefined
type Optional / branch-dependent "log" \| "ordinal" \| "pow" \| "quantile" \| "quantize" \| "sequential" \| "sqrt" \| "symlog" \| "threshold" \| undefined
unknown Optional / branch-dependent string \| undefined
whitePoint Optional / branch-dependent "auto" \| "d50" \| "d65" \| undefined
gamma Optional / branch-dependent number \| "auto" \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
interpolate Optional / branch-dependent ContinuousColorInterpolation \| undefined
midpoint Optional / branch-dependent number \| "auto" \| undefined
base Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editStrokeScale

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

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

editStrokeScale(options: EditStrokeScaleOptions): ChartProgram;

Named option contracts: EditStrokeScaleOptions.

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 Required string
whitePoint Optional / branch-dependent "auto" \| "d50" \| "d65" \| undefined
gamma Optional / branch-dependent number \| "auto" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| readonly number[] \| readonly [unknown, unknown] \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly string[] \| { readonly palette: Palette; } \| { readonly palette: Palette; } \| readonly [string, string, ...string[]] \| undefined
palette Optional / branch-dependent "accent" \| "bluegreen" \| "blueorange" \| "bluepurple" \| "blues" \| "brownbluegreen" \| "browns" \| "category10" \| "category20" \| "category20b" \| "category20c" \| "cividis" \| "dark2" \| ... 59 more ... \| undefined
type Optional / branch-dependent "log" \| "ordinal" \| "pow" \| "quantile" \| "quantize" \| "sequential" \| "sqrt" \| "symlog" \| "threshold" \| undefined
unknown Optional / branch-dependent string \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
interpolate Optional / branch-dependent ContinuousColorInterpolation \| undefined
midpoint Optional / branch-dependent number \| "auto" \| undefined
base Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editSizeScale

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

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

editSizeScale(options: EditSizeScaleOptions): ChartProgram;

Named option contracts: EditSizeScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
type Optional / branch-dependent "linear" \| "log" \| "ordinal" \| "pow" \| "quantile" \| "quantize" \| "sqrt" \| "threshold" \| undefined
domain Optional / branch-dependent "auto" \| readonly (string \| number \| boolean)[] \| readonly [number, number] \| readonly [number, ...number[]] \| readonly [string \| number \| boolean, ...(string \| number \| boolean)[]] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| readonly [number, ...number[]] \| readonly [number, number, ...number[]] \| undefined
unknown Optional / branch-dependent number \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editOpacityScale

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

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

editOpacityScale(options: EditOpacityScaleOptions): ChartProgram;

Named option contracts: EditOpacityScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
nice Optional / branch-dependent boolean \| undefined
type Optional / branch-dependent "linear" \| undefined
domain Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
unknown Optional / branch-dependent number \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editShapeScale

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

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

editShapeScale(options: EditShapeScaleOptions): ChartProgram;

Named option contracts: EditShapeScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
type Optional / branch-dependent "ordinal" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
range Optional / branch-dependent "auto" \| readonly PointShape[] \| undefined
unknown Optional / branch-dependent PointShape \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editStrokeWidthScale

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

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

editStrokeWidthScale(options: EditStrokeWidthScaleOptions): ChartProgram;

Named option contracts: EditStrokeWidthScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
zero Optional / branch-dependent boolean \| undefined
clamp Optional / branch-dependent boolean \| undefined
reverse Optional / branch-dependent boolean \| undefined
base Optional / branch-dependent number \| undefined
exponent Optional / branch-dependent number \| undefined
constant Optional / branch-dependent number \| undefined
domain Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
range Optional / branch-dependent "auto" \| readonly [number, number] \| undefined
type Optional / branch-dependent "linear" \| "log" \| "pow" \| "sqrt" \| "symlog" \| undefined
nice Optional / branch-dependent boolean \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

editStrokeDashScale

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

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

editStrokeDashScale(options: EditStrokeDashScaleOptions): ChartProgram;

Named option contracts: EditStrokeDashScaleOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
type Optional / branch-dependent "ordinal" \| undefined
domain Optional / branch-dependent "auto" \| readonly unknown[] \| undefined
range Optional / branch-dependent "auto" \| readonly (DashPattern \| DashStyle)[] \| undefined
unknown Optional / branch-dependent DashPattern \| DashStyle \| undefined

Behavior, inference, resets, and errors: Focused channel scale editors.

createDerivedData

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

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

createDerivedData(options: CreateDerivedDataOptions): ChartProgram;

Named option contracts: CreateDerivedDataOptions.

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
id Required string
source Required string
transform Required readonly [DatasetTransform]

Behavior, inference, resets, and errors: Semantic resources and regression layers.

filterMarks

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

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

filterMarks(options: FilterMarksOptions): ChartProgram;

Named option contracts: FilterMarksOptions.

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
mode Optional / branch-dependent "compose" \| "replace" \| undefined
grain Optional / branch-dependent "item" \| "stack" \| undefined
field Optional / branch-dependent string \| undefined
channel Optional / branch-dependent "color" \| "group" \| "opacity" \| "radius" \| "shape" \| "size" \| "stroke" \| "strokeDash" \| "strokeWidth" \| "theta" \| "x" \| "x2" \| "xOffset" \| "y" \| "y2" \| "yOffset" \| undefined
property Optional / branch-dependent MarkGraphicProperty \| undefined
op Required "eq" \| "gt" \| "gte" \| "lt" \| "lte" \| "max" \| "min" \| "neq" \| "oneOf" \| "range"
value Optional / branch-dependent unknown
values Optional / branch-dependent readonly unknown[]
min Optional / branch-dependent string \| number
max Optional / branch-dependent string \| number
inclusive Optional / branch-dependent boolean \| undefined
count Optional / branch-dependent number \| undefined
groupBy Optional / branch-dependent string \| readonly string[] \| undefined
ties Optional / branch-dependent "all" \| "first" \| undefined

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

filterMarks({ target?, mode?, grain?, field | channel | property, op, ...operands })

Retain matching final mark items through the shared selector grammar. Repeated filters are idempotent when equal and use explicit replace or compose mode when different. Empty results preserve the preceding scale domains. An explicit Raincloud parent ID selects raw observations by field at item grain and recomputes all enabled components. It accepts comparisons, sets, ranges, and grouped ranks; rendered channel/property selectors still require a child ID. Raincloud source filters retain the nonempty input requirements of their enabled statistical components; named-child empty filters remain supported. Data

removeMarkFilter

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

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

removeMarkFilter(options?: RemoveMarkFilterOptions): ChartProgram;

Named option contracts: RemoveMarkFilterOptions.

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

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

removeMarkFilter({ target? })

Restore a filtered mark to its canonical source, recover its prior Histogram bin policy, and retain any filtered dataset snapshot that still has downstream users. Data

removeMarkHighlight

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

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

removeMarkHighlight(options?: RemoveMarkSelectionOptions): ChartProgram;

Named option contracts: RemoveMarkSelectionOptions.

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
selection Optional / branch-dependent string \| undefined

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

removeMarkHighlight({ selection? } = {})

Remove one highlight assignment, restore the target mark and categorical legend baseline, and retain the reusable selection. Selection lifecycle

highlightMarks

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

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

highlightMarks(options: HighlightMarksOptions): ChartProgram;

Named option contracts: HighlightMarksOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
select Optional / branch-dependent MarkSelector \| undefined
selection Optional / branch-dependent string \| undefined
color Optional / branch-dependent string \| undefined
opacity Optional / branch-dependent number \| undefined
fill Optional / branch-dependent string \| undefined
stroke Optional / branch-dependent string \| undefined
strokeWidth Optional / branch-dependent number \| undefined
strokeDash Optional / branch-dependent DashPattern \| DashStyle \| undefined
shape Optional / branch-dependent PointShape \| undefined
size Optional / branch-dependent number \| undefined
offset Optional / branch-dependent { x?: number \| undefined; y?: number \| undefined; } \| undefined
dimOthers Optional / branch-dependent boolean \| { opacity?: number \| undefined; } \| undefined
bringToFront Optional / branch-dependent boolean \| undefined

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

highlightMarks({
  id?, target?, select?, selection?, color?, opacity?, fill?, stroke?,
  strokeWidth?, strokeDash?, shape?, size?, offset?, dimOthers?, bringToFront?
})

Select point, bar, line, area, arc, or rule items inline or reuse a stored selection, then apply mark-specific concrete emphasis, optional complement dimming, and selected-last order. Mark selection and highlighting

editCompositionLayout

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

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

editCompositionLayout(options: EditCompositionLayoutOptions): ChartProgram;

Named option contracts: EditCompositionLayoutOptions.

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
columns Optional / branch-dependent number \| undefined
gap Optional / branch-dependent FacetGap \| undefined
align Optional / branch-dependent CompositionAlign \| undefined
padding Optional / branch-dependent number \| CompositionPadding \| undefined
spacing Optional / branch-dependent "canvas" \| "content" \| "plot" \| undefined
topLane Optional / branch-dependent FacetTopLaneMode \| undefined

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

editCompositionLayout({ columns?, gap?, spacing?, align?, padding? })

Edit spacing, cross-axis alignment, or outer padding on an existing composition. columns changes wrapping only on a facet composition and is rejected for concat. Omitted values are preserved, child identity is unchanged, and the parent snapshot is rebuilt from retained child programs. Facet parents accept gap: {x, y} to set horizontal and vertical distances separately; both keys are required and each value must be finite and non-negative. A pair replaces both axes, while an omitted gap preserves its current form. Concat continues to require a numeric gap.

replaceCompositionChild

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

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

replaceCompositionChild(options: ReplaceCompositionChildOptions): ChartProgram;

Named option contracts: ReplaceCompositionChildOptions.

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 Required string
program Required ChartProgram

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

replaceCompositionChild({ target, program })

Replace one named child while preserving its slot ID and order. The replacement must already be a complete chart or composition program.

insertCompositionChild

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

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

insertCompositionChild(options: InsertCompositionChildOptions): ChartProgram;

Named option contracts: InsertCompositionChildOptions.

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
id Required string
program Required ChartProgram
before Optional / branch-dependent string \| undefined
after Optional / branch-dependent string \| undefined

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

insertCompositionChild({ id, program, before?, after? })

Insert a complete chart or nested composition under a new stable child name. Use either before or after; omitting both appends the child.

removeCompositionChild

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

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

removeCompositionChild(options: RemoveCompositionChildOptions): ChartProgram;

Named option contracts: RemoveCompositionChildOptions.

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 Required string

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

removeCompositionChild({ target })

Remove one named concat child and rebuild layout. A concat may retain one child, but its final child cannot be removed.

reorderCompositionChildren

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

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

reorderCompositionChildren(options: ReorderCompositionChildrenOptions): ChartProgram;

Named option contracts: ReorderCompositionChildrenOptions.

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
order Required readonly [string, ...string[]]

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

reorderCompositionChildren({ order })

Provide every current concat child ID exactly once in its new order. Child program references stay unchanged while placements and snapshots are rebuilt.

facet

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

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

facet(options: FacetOptions): ChartProgram;

Named option contracts: FacetOptions.

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
id Optional / branch-dependent string \| undefined
field Required string
data Optional / branch-dependent string \| undefined
values Optional / branch-dependent readonly DatasetScalar[] \| undefined
columns Optional / branch-dependent number \| undefined
gap Optional / branch-dependent FacetGap \| undefined
align Optional / branch-dependent CompositionAlign \| undefined
padding Optional / branch-dependent number \| CompositionPadding \| undefined
scales Optional / branch-dependent FacetScaleResolutions \| undefined
guides Optional / branch-dependent FacetGuideOptions \| undefined
headers Optional / branch-dependent FacetHeadersOptions \| undefined
spacing Optional / branch-dependent "canvas" \| "content" \| "plot" \| undefined
topLane Optional / branch-dependent FacetTopLaneMode \| undefined

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

facet({ id?, field, data?, values?, columns?, gap?, spacing?, align?, padding?, scales?, guides?, headers? })

Repeat one complete Cartesian, Polar, or Parallel chart by a field on its common row-preserving dataset ancestor. Values preserve source first appearance; scale policies can be "shared" or "independent" by supported role, including Polar theta/public r and all parallelDimensions. Layered regression data, statistical descendants, data-bound Cartesian text, attached labels, and references recompute per cell. Text needs x/y scales and a text encoding. guides: { axes: "outer" } keeps axes only on occupied outer cells, while guides: { legend: "shared" } promotes one compatible parent-owned legend at the child legend’s configured left, right, top, or bottom edge. Top and bottom promotion also preserves the child legend’s horizontal alignment; author those options with createLegend before calling facet. Promoted outside legends use the existing recipe offset from the combined panel plots. Omitted offsets clear retained axis and header text; explicit colliding offsets reject. Child Canvas dimensions and margins remain intact, and the inferred parent Canvas contains the child snapshots and the complete legend bounds. A guides.legend object declares a native parent legend against the final child-plot union using ordinary LegendOptions defaults. Existing whole/focused/block legend editors and removal accept that facet, grid or repeat parent. Declare an absent owner with editFacetGuides({ legend: {...} }); post-facet createLegend stays unit-only. Target IDs name source marks. Corners/free coordinates and block-local anchors use the union and preserve child dimensions, automatic policies and editable persistence. See parent legend creation. See Program composition.

Facet, grid and field repetition also accept gap: {x, y}. A number still applies one distance in both directions and keeps its stored form. A pair must contain exactly those two finite non-negative values; partial objects and unknown keys reject, even for one row or column. The distances separate child canvases, plots, or retained content according to the existing spacing mode. Grid still supports only canvas/plot spacing. Header clearance and final overlap checks remain active independently in both directions. The pair survives layout edits, source replay and editable persistence. See independent axis gaps.

Creation options for facet, facetGrid, and repeatCharts accept headers. Set common fontSize, fontFamily, fontWeight, color, offset, align, or labelMap, and optional row/column objects with role-specific overrides and side. Common styles are applied before role overrides. Row headers require a two-field grid; its column sides are top/bottom, while one-field facets and repeats also allow left/right column headers. The option uses the same values, layout, and precedence as editFacetHeaders; authored styles survive themes and source replay. Omitting headers preserves the default headers. With spacing: "plot", headers stay aligned to their panel plots and sit outside retained axis text and local legend ink, including outward Polar labels. Header lanes are recalculated after guide edits. The requested plot gap and child Canvas sizes remain unchanged; insufficient interior guide/header space rejects the operation.

facetGrid

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

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

facetGrid(options: FacetGridOptions): ChartProgram;

Named option contracts: FacetGridOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
rows Required FacetGridRole
columns Required FacetGridRole
combinations Optional / branch-dependent "full" \| "observed" \| undefined
gap Optional / branch-dependent FacetGap \| undefined
align Optional / branch-dependent CompositionAlign \| undefined
padding Optional / branch-dependent number \| CompositionPadding \| undefined
scales Optional / branch-dependent FacetScaleResolutions \| undefined
guides Optional / branch-dependent FacetGuideOptions \| undefined
headers Optional / branch-dependent FacetHeadersOptions \| undefined
spacing Optional / branch-dependent "canvas" \| "plot" \| undefined
topLane Optional / branch-dependent FacetTopLaneMode \| undefined

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

facetGrid({ id?, data?, rows, columns, combinations?, gap?, spacing?, align?, padding?, scales?, guides?, headers? })

Repeat one supported Cartesian, Polar, or Parallel chart over two ordered categorical fields. combinations: "observed" retains the coordinates of observed pairs; "full" also creates explicit empty cells that retain their semantic layers, coordinate, header, and shared or explicit-domain local guides.

repeatCharts

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

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

repeatCharts(options: RepeatChartsOptions): ChartProgram;

Named option contracts: RepeatChartsOptions.

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
id Optional / branch-dependent string \| undefined
target Optional / branch-dependent string \| undefined
channel Required "r" \| "theta" \| "x" \| "y" \| { parallelDimension: string; }
fields Required readonly [string, ...string[]]
columns Optional / branch-dependent number \| undefined
gap Optional / branch-dependent FacetGap \| undefined
align Optional / branch-dependent CompositionAlign \| undefined
padding Optional / branch-dependent number \| CompositionPadding \| undefined
scales Optional / branch-dependent FacetScaleResolutions \| undefined
guides Optional / branch-dependent FacetGuideOptions \| undefined
headers Optional / branch-dependent FacetHeadersOptions \| undefined
spacing Optional / branch-dependent "canvas" \| "content" \| "plot" \| undefined
topLane Optional / branch-dependent FacetTopLaneMode \| undefined

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

repeatCharts({ id?, target?, channel, fields, columns?, gap?, spacing?, align?, padding?, scales?, guides?, headers? })

Repeat one direct mark by replacing Cartesian x/y, eligible Polar theta/public r, or one { parallelDimension: field }. The repeated role is independently scaled by default; request a shared policy explicitly to use the union domain. Attached labels and statistical references owned by the target replay with it. Pie/Radar raw positional roles, derived targets, unrelated layers, and composite roles are rejected with explicit errors.

editFacetSource

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

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

editFacetSource(options: EditFacetSourceOptions): ChartProgram;

Named option contracts: EditFacetSourceOptions.

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
program Optional / branch-dependent ChartProgram \| undefined
action Optional / branch-dependent { method: string; options?: Readonly<Record<string, unknown>> \| undefined; } \| undefined

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

editFacetSource({ program })
editFacetSource({ action: { method, options? } })

Reapply the current facet, grid, or repeat recipe to a revised complete unit program while preserving the partition dataset ID, ordered domains, layout, scale/guide policy, headers, and parent title. All stored facet values must remain observed; create a new composition when the dataset ID, domain, or repeat field list changes. Alternatively, pass one actual unit chart-authoring action name and its options to edit the retained full-data source in the same transaction. Specify exactly one of program or action; extension primitives, materializers, and composition actions cannot be source edits.

editFacetHeaders

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

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

editFacetHeaders(options: EditFacetHeadersOptions): ChartProgram;

Named option contracts: EditFacetHeadersOptions.

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
fontSize Optional / branch-dependent number \| undefined
fontFamily Optional / branch-dependent string \| undefined
fontWeight Optional / branch-dependent string \| number \| undefined
color Optional / branch-dependent string \| undefined
offset Optional / branch-dependent number \| undefined
anchor Optional / branch-dependent "content" \| "plot" \| "view" \| undefined
role Optional / branch-dependent FacetHeaderRole \| undefined
labelMap Optional / branch-dependent "auto" \| DisplayLabelMap \| undefined
side Optional / branch-dependent FacetHeaderSide \| undefined
align Optional / branch-dependent FacetHeaderAlign \| undefined
rotation Optional / branch-dependent RotationInput \| undefined
title Optional / branch-dependent false \| FacetHeaderTitleOptions \| undefined

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

editFacetHeaders({ fontSize?, fontFamily?, fontWeight?, color?, offset?, role?, labelMap?, side?, align?, rotation?, title? })

Edit the parent-owned repeated facet headers and rebuild the parent snapshot without changing child programs or facet value order. One-field facets and repeats accept all four sides with role: "column"; left/right placements reserve a measured lane beside every physical column. Row-column grids retain left/right row headers and top/bottom column headers. Role-specific title: { text: "Region" } adds one field title across the occupied plots, separately from category headers and the chart title. Initial options use headers.column.title or grid headers.row.title. A first title requires one-line text; partial edits preserve it and title: false removes it. Title style inherits its role header, with optional fontSize/fontFamily/fontWeight/color, align, rotation, offset and alongOffset overrides. Common/all titles are rejected.

editFacetScales

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

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

editFacetScales(options: FacetScaleResolutions): ChartProgram;

Named option contracts: FacetScaleResolutions.

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 FacetScaleResolution \| undefined
y Optional / branch-dependent FacetScaleResolution \| undefined
xOffset Optional / branch-dependent FacetScaleResolution \| undefined
yOffset Optional / branch-dependent FacetScaleResolution \| undefined
theta Optional / branch-dependent FacetScaleResolution \| undefined
r Optional / branch-dependent FacetScaleResolution \| undefined
color Optional / branch-dependent FacetScaleResolution \| undefined
stroke Optional / branch-dependent FacetScaleResolution \| undefined
size Optional / branch-dependent FacetScaleResolution \| undefined
shape Optional / branch-dependent FacetScaleResolution \| undefined
opacity Optional / branch-dependent FacetScaleResolution \| undefined
strokeDash Optional / branch-dependent FacetScaleResolution \| undefined
parallelDimensions Optional / branch-dependent FacetScaleResolution \| undefined

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

editFacetScales({ x?, y?, xOffset?, yOffset?, theta?, r?, color?, stroke?, size?, shape?, opacity?, strokeDash?, parallelDimensions? })

Partially change used facet channels between "shared" and "independent". Every cell is rederived from the retained pre-facet program while field, data, value order, child IDs, layout, guides, headers, and title are preserved. Public r addresses semantic radius; parallelDimensions applies the policy separately to every Parallel dimension.

editFacetGuides

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

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

editFacetGuides(options: FacetGuideOptions): ChartProgram;

Named option contracts: FacetGuideOptions.

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 "each" \| "outer" \| { x?: "each" \| "outer" \| undefined; y?: "each" \| "outer" \| undefined; } \| undefined
legend Optional / branch-dependent "shared" \| false \| LegendOptions \| undefined

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

editFacetGuides({ axes?, legend? })

Partially change axes between "each" and "outer", or legend ownership between false and "shared". Shared legend promotion requires concretely compatible child scales and guide recipes. Polar and Parallel axes remain child-local and reject "outer".

createScatterPlot

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

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

createScatterPlot(options: CreateScatterPlotOptions): ChartProgram;

Named option contracts: CreateScatterPlotOptions.

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
missing Optional / branch-dependent "error" \| "skip" \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
x Required PointFacadePositionChannel
y Required PointFacadePositionChannel
color Optional / branch-dependent BasicColorChannel \| undefined
stroke Optional / branch-dependent string \| Omit<{ target?: string \| undefined; field: string; value?: undefined; fieldType?: "nominal" \| "ordinal" \| undefined; temporalUnit?: undefined; scale?: CategoricalColorScaleOptions \| undefined; }, "coordinate" \| "target"> \| Omit<...> \| Omit<...> \| undefined
size Optional / branch-dependent BasicSizeChannel \| undefined
shape Optional / branch-dependent BasicShapeChannel \| undefined
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
guides Optional / branch-dependent false \| CartesianGuideOptions \| undefined

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

createScatterPlot({ id?, data?, coordinate?, x, y, color?, stroke?, size?, shape?, point?, missing?, guides? })

Create a complete Cartesian point chart from required x/y fields and optional appearance encodings. Basic Charts

createTextPlot

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

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

createTextPlot(options: CreateTextPlotOptions): ChartProgram;

Named option contracts: CreateTextPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
x Required TextPlotPositionChannel
y Required TextPlotPositionChannel
text Required string \| Omit<{ target?: string \| undefined; format?: ValueFormat \| undefined; } & { field: string; value?: undefined; content?: undefined; normalizeBy?: undefined; }, "coordinate" \| "target"> \| Omit<...>
color Optional / branch-dependent RectColorChannel \| undefined
style Optional / branch-dependent Omit<TextMarkOptions, "data" \| "id" \| "inheritColor" \| "source" \| "text"> \| undefined
guides Optional / branch-dependent false \| ColorGuides \| undefined

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

createTextPlot({ id?, data?, coordinate?, x, y, text, color?, style?, guides? })

Create a Cartesian data-text chart from required positions and content. Available in the full entry only. Strings name fields; constant text uses { value }. Basic Charts

createDotPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createDotPlot(options: CreateDotPlotOptions): ChartProgram;

Named option contracts: CreateDotPlotOptions.

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
value Required EndpointValueChannel
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
labels Optional / branch-dependent false \| EndpointLabelOptions \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required EndpointCategoryChannel
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
summary Optional / branch-dependent EndpointPlotSummary \| undefined
guides Optional / branch-dependent false \| CartesianSeparateGuideOptions \| undefined

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

createDotPlot({ id?, data?, coordinate?, category, value, orientation?, summary?, point?, labels?, guides? })

Create categorical dots from raw rows by default. Set summary explicitly to mean, median, sum, min, or max to aggregate one dot per category.

createLollipopPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createLollipopPlot(options: CreateLollipopPlotOptions): ChartProgram;

Named option contracts: CreateLollipopPlotOptions.

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
value Required EndpointValueChannel
baseline Optional / branch-dependent number \| undefined
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
stem Optional / branch-dependent (RuleStyleOptions & { clip?: boolean \| undefined; }) \| undefined
labels Optional / branch-dependent false \| EndpointLabelOptions \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required EndpointCategoryChannel
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
summary Optional / branch-dependent EndpointPlotSummary \| undefined
guides Optional / branch-dependent false \| CartesianSeparateGuideOptions \| undefined

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

createLollipopPlot({ id?, data?, coordinate?, category, value, orientation?, summary?, baseline?, point?, stem?, labels?, guides? })

Create a value point and a stem to a finite baseline, which defaults to zero. The point and stem use the same source grain and quantitative scale.

createDumbbellPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createDumbbellPlot(options: CreateDumbbellPlotOptions): ChartProgram;

Named option contracts: CreateDumbbellPlotOptions.

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
start Required EndpointValueChannel
end Required EndpointValueChannel
startPoint Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
endPoint Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
connector Optional / branch-dependent (RuleStyleOptions & { clip?: boolean \| undefined; }) \| undefined
labels Optional / branch-dependent false \| (EndpointLabelOptions & { endpoint?: "both" \| "end" \| "start" \| undefined; }) \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required EndpointCategoryChannel
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
summary Optional / branch-dependent EndpointPlotSummary \| undefined
guides Optional / branch-dependent false \| CartesianSeparateGuideOptions \| undefined

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

createDumbbellPlot({ id?, data?, coordinate?, category, start, end, orientation?, summary?, startPoint?, endPoint?, connector?, labels?, guides? })

Create named start and end points with a connector. Endpoint identity stays attached to its field and appearance when values reverse or coincide. Because two fields share the value scale, its ambiguous axis title is omitted by default. Set guides.axes.x.title for a horizontal plot or guides.axes.y.title for a vertical plot to provide one explicitly.

editEndpointPlot

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

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

editEndpointPlot(options: EditEndpointPlotOptions): ChartProgram;

Named option contracts: EditEndpointPlotOptions.

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
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Optional / branch-dependent EndpointCategoryChannel \| undefined
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
summary Optional / branch-dependent EndpointPlotSummary \| undefined
start Optional / branch-dependent EndpointValueChannel \| undefined
end Optional / branch-dependent EndpointValueChannel \| undefined
value Optional / branch-dependent EndpointValueChannel \| undefined
baseline Optional / branch-dependent number \| undefined

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

editEndpointPlot({ target?, data?, coordinate?, category?, value?, start?, end?, orientation?, summary?, baseline? })

Atomically revise the semantic roles of a Dot, Lollipop, or Dumbbell facade. Owned points, rules, labels, and summary data are replaced together while the original appearance and guide policy are retained. When a changed role or source changes an axis domain, tick samples from the previous domain are inferred again while retaining their label and line styles. Separately added statistical references retain their source endpoint, styles, and labels, recompute from the revised observations, and follow the measurement axis when orientation changes.

createECDFPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createECDFPlot(options: CreateECDFPlotOptions): ChartProgram;

Named option contracts: CreateECDFPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
field Required string
groupBy Optional / branch-dependent string \| readonly [string, ...string[]] \| undefined
weight Optional / branch-dependent string \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined
as Optional / branch-dependent ECDFOutputFields \| undefined
color Optional / branch-dependent LineCategoricalColorChannel<NonPointCategoricalColorScaleOptions> \| undefined
line Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; strokeWidth?: number \| undefined; stroke?: string \| undefined; opacity?: number \| undefined; }) \| undefined
labels Optional / branch-dependent false \| EndpointLabelOptions \| undefined
guides Optional / branch-dependent false \| CartesianPathGuideOptions \| undefined

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

createECDFPlot({ id?, data?, coordinate?, field, groupBy?, weight?, missing?, as?, color?, line?, labels?, guides? })

Create a right-continuous empirical cumulative distribution as an ordinary step-after line. Ties share one jump, probability is fixed to [0,1], and optional grouping controls both statistical denominators and path identity.

editECDFPlot

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

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

editECDFPlot(options: EditECDFPlotOptions): ChartProgram;

Named option contracts: EditECDFPlotOptions.

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
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
field Optional / branch-dependent string \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined
as Optional / branch-dependent ECDFOutputFields \| undefined
groupBy Optional / branch-dependent string \| false \| readonly [string, ...string[]] \| undefined
weight Optional / branch-dependent string \| false \| undefined
color Optional / branch-dependent false \| LineCategoricalColorChannel<NonPointCategoricalColorScaleOptions> \| undefined

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

editECDFPlot({ target?, data?, coordinate?, field?, groupBy?, weight?, missing?, as?, color? })

Atomically revise an ECDF source or statistical role and rebuild its owned derived rows, path, final-series labels, and guides under the stable owner ID. Ungrouping also removes a coupled group color unless a replacement is supplied.

createIntervalPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createIntervalPlot(options: CreateIntervalPlotOptions): ChartProgram;

Named option contracts: CreateIntervalPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
xOffset Optional / branch-dependent ErrorBarOffsetChannel \| undefined
yOffset Optional / branch-dependent ErrorBarOffsetChannel \| undefined
groupBy Optional / branch-dependent string \| false \| undefined
color Optional / branch-dependent BasicColorChannel \| undefined
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
errorBar Optional / branch-dependent IntervalPlotErrorBarOptions \| undefined
guides Optional / branch-dependent false \| CartesianSeparateGuideOptions \| undefined
x Required string \| ErrorBarIntervalChannel \| ErrorBarPositionChannel
y Required string \| ErrorBarIntervalChannel \| ErrorBarPositionChannel

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

createIntervalPlot({ id?, data?, coordinate?, x, y, xOffset?, yOffset?, groupBy?, color?, point?, errorBar?, guides? })

Create center points and matching statistical or explicit intervals from one shared dataset, coordinate, and pair of scales. The x/y interval vocabulary is the same as createErrorBar; child point and error-bar styles remain independently editable through their existing owners. When scale IDs are omitted, the complete owner uses ${id}X and ${id}Y so unrelated earlier channel scales cannot make the call order dependent.

createRegressionPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createRegressionPlot(options: CreateRegressionPlotOptions): ChartProgram;

Named option contracts: CreateRegressionPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
x Required RegressionPlotPositionChannel
y Required RegressionPlotPositionChannel
color Optional / branch-dependent BasicColorChannel \| undefined
size Optional / branch-dependent BasicSizeChannel \| undefined
shape Optional / branch-dependent BasicShapeChannel \| undefined
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
guides Optional / branch-dependent false \| CartesianGuideOptions \| undefined
method Optional / branch-dependent "exp" \| "linear" \| "loess" \| "polynomial" \| undefined
interval Optional / branch-dependent false \| RegressionInterval \| undefined
degree Optional / branch-dependent number \| undefined
span Optional / branch-dependent number \| undefined
robustIterations Optional / branch-dependent number \| undefined
confidenceMethod Optional / branch-dependent ConfidenceIntervalMethod \| undefined
level Optional / branch-dependent number \| undefined
confidence Optional / branch-dependent number \| undefined
predict Optional / branch-dependent RegressionPredictOptions \| undefined
placement Optional / branch-dependent "plot-last" \| "source" \| undefined
groupBy Optional / branch-dependent string \| false \| undefined
line Optional / branch-dependent (StrokeStyleDetails & { strokeWidth?: number \| undefined; curve?: CurveInterpolation \| undefined; }) \| undefined
sourceBinding Optional / branch-dependent "fixed" \| "follow" \| undefined
missing Optional / branch-dependent "drop" \| "error" \| undefined
band Optional / branch-dependent false \| RegressionBandOptions \| undefined

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

createRegressionPlot({ id?, data?, coordinate?, x, y, color?, size?, shape?, point?, groupBy?, method?, band?, line?, guides? })

Create a scatter plot with fitted regression data, a line, and optional interval bands. groupBy: false is preserved as an explicit ungrouped model request.

createLinePlot

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

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

createLinePlot(options: CreateLinePlotOptions): ChartProgram;

Named option contracts: CreateLinePlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
x Required LineXPositionChannel
y Required LineYPositionChannel
color Optional / branch-dependent LineCategoricalColorChannel<CategoricalColorScaleOptions> \| undefined
groupBy Optional / branch-dependent string \| readonly [string, ...string[]] \| undefined
strokeDash Optional / branch-dependent Omit<{ field: string; value?: undefined; target?: string \| undefined; fieldType?: "nominal" \| "ordinal" \| undefined; scale?: DashScaleOptions \| undefined; }, "target"> \| Omit<...> \| undefined
line Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; missing?: "break" \| "error" \| undefined; strokeWidth?: number \| undefined; curve?: CurveInterpolation \| undefined; tension?: number \| undefined; stroke?: string \| undefined; opacity?: number \| undefined; closed?: false \| undefined; }) \| undefined
guides Optional / branch-dependent false \| (Omit<CPathGuides, "grid" \| "legend"> & { grid?: false \| (Omit<CartesianGridOptions, "horizontal"> & { horizontal?: boolean \| ... 1 more ... \| undefined; }) \| undefined; legend?: false \| ... 1 more ... \| undefined; }) \| undefined

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

createLinePlot({ id?, data?, coordinate?, x, y, color?, groupBy?, strokeDash?, line?, guides? })

Create a complete Cartesian line chart. groupBy accepts one field or a non-empty tuple, assigned before independent series color and dash. Basic Charts

Categorical x (nominal or ordinal) accepts point/band scales and raw quantitative or aggregate y. Vertices follow the x domain; absent an explicit domain, categories follow first appearance. Duplicate-category rows keep source order. Missing categories are not synthesized, and remaining observations connect across their category spacing.

createPolarScatterPlot

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

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

createPolarScatterPlot(options: CreatePolarScatterPlotOptions): ChartProgram;

Named option contracts: CreatePolarScatterPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
theta Required PolarThetaChannel
radius Required PolarRadiusChannel
color Optional / branch-dependent BasicColorChannel \| undefined
size Optional / branch-dependent BasicSizeChannel \| undefined
shape Optional / branch-dependent BasicShapeChannel \| undefined
point Optional / branch-dependent Omit<StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }, "clip"> \| undefined
guides Optional / branch-dependent false \| PolarPointGuideOptions \| undefined

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

createPolarScatterPlot({ id?, data?, coordinate?, theta, radius, color?, size?, shape?, point?, missing?, guides? })

Create a complete Polar point chart from required angular and radial fields. Radial position remains independent from size and constant point.radius. Polar positions

createPolarLinePlot

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

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

createPolarLinePlot(options: CreatePolarLinePlotOptions): ChartProgram;

Named option contracts: CreatePolarLinePlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
theta Required PolarThetaChannel
radius Required PolarRadiusChannel
color Optional / branch-dependent LineCategoricalColorChannel<NonPointCategoricalColorScaleOptions> \| undefined
groupBy Optional / branch-dependent string \| readonly [string, ...string[]] \| undefined
strokeDash Optional / branch-dependent Omit<{ value: DashPattern \| DashStyle; field?: undefined; target?: string \| undefined; fieldType?: undefined; scale?: undefined; }, "target"> \| (Omit<Omit<...>, "scale"> & { ...; }) \| undefined
line Optional / branch-dependent (Omit<StrokeStyleDetails & { clip?: boolean \| undefined; missing?: "break" \| "error" \| undefined; strokeWidth?: number \| undefined; curve?: CurveInterpolation \| undefined; tension?: number \| undefined; stroke?: string \| undefined; opacity?: number \| undefined; closed?: false \| undefined; }, "clip" \| ... 3 more ... \|...
guides Optional / branch-dependent false \| PolarPathGuideOptions \| undefined

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

createPolarLinePlot({ id?, data?, coordinate?, theta, radius, groupBy?, color?, strokeDash?, line?, guides? })

Create grouped Polar paths from required angular and radial fields. Paths stay open unless line.closed: true is explicit. Polar positions

createRadarPlot

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

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

createRadarPlot(options: CreateRadarPlotOptions): ChartProgram;

Named option contracts: CreateRadarPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
groupBy Optional / branch-dependent string \| readonly [string, ...string[]] \| undefined
order Optional / branch-dependent readonly [RadarCategoryValue, RadarCategoryValue, RadarCategoryValue, ...RadarCategoryValue[]] \| undefined
color Optional / branch-dependent LineCategoricalColorChannel<NonPointCategoricalColorScaleOptions> \| undefined
strokeDash Optional / branch-dependent Omit<{ value: DashPattern \| DashStyle; field?: undefined; target?: string \| undefined; fieldType?: undefined; scale?: undefined; }, "target"> \| (Omit<Omit<...>, "scale"> & { ...; }) \| undefined
line Optional / branch-dependent (Omit<StrokeStyleDetails & { clip?: boolean \| undefined; missing?: "break" \| "error" \| undefined; strokeWidth?: number \| undefined; curve?: CurveInterpolation \| undefined; tension?: number \| undefined; stroke?: string \| undefined; opacity?: number \| undefined; closed?: false \| undefined; }, "clip" \| ... 3 more ... \|...
guides Optional / branch-dependent false \| RadarGuideOptions \| undefined
category Optional / branch-dependent RadarCategoryChannel \| undefined
value Optional / branch-dependent PolarRadiusChannel \| undefined
wide Optional / branch-dependent RadarWideOptions \| undefined

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

createRadarPlot({ id?, data?, coordinate?, category, value, groupBy?, order?, color?, strokeDash?, line?, guides? })
createRadarPlot({ id?, data?, coordinate?, wide: { fields, as? }, groupBy?, order?, color?, strokeDash?, line?, guides? })

Create closed Radar paths from validated long rows or an explicit wide-to-long Fold. Every series must contain the same ordered dimensions exactly once. Values are used as supplied; the facade does not infer normalization. Polar positions

editRadarPlot

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

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

editRadarPlot(options: EditRadarPlotOptions): ChartProgram;

Named option contracts: EditRadarPlotOptions.

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
wide Required { fields: readonly [string, string, ...string[]]; }

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

editRadarPlot({ target?, wide: { fields } })

Edit the dimensions and their angular order in an existing wide Radar plot. fields must contain at least two distinct numeric source fields. Omit target only when the current or sole wide Radar plot identifies the owner unambiguously. Long-form Radar plots are outside this editor’s scope.

The action updates the owned fold, angular domain, radial geometry and closed paths together. Series grouping, color, line appearance, coordinate and guide styles are preserved. Automatic radial domains are recalculated; explicit radial domains remain unchanged. Angular labels and grid values follow the revised dimension order, preserving valid explicit subsets.

// Fragment: program already contains a wide Radar named "radar" and these source columns.
const revised = program.editRadarPlot({
  target: "radar",
  wide: { fields: ["quality", "speed", "cost"] }
});

Missing, duplicate or nonnumeric fields and incompatible targets reject without changing the previous program. Editing dimensions does not normalize values: compare columns with compatible units.

createRugPlot

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

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

createRugPlot(options: CreateRugPlotOptions): ChartProgram;

Named option contracts: CreateRugPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
tick Optional / branch-dependent RugTickOptions \| undefined
guides Optional / branch-dependent false \| RugGuideOptions \| undefined
x Optional / branch-dependent RugMeasureChannel \| undefined
y Optional / branch-dependent RugMeasureChannel \| undefined
edge Required "bottom" \| "left" \| "right" \| "top"

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

createRugPlot({ id?, data?, x, edge: "top" | "bottom", tick?, guides? })
createRugPlot({ id?, data?, y, edge: "left" | "right", tick?, guides? })

Create a one-dimensional distribution from quantitative or temporal observations. Ticks use an explicit plot edge as their constant position, so no dummy field is needed. The default guide contains only the measure axis.

Its measure grid follows a continuous quantitative or temporal scale and rejects explicit bandPosition.

createStripPlot

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

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

createStripPlot(options: CreateStripPlotOptions): ChartProgram;

Named option contracts: CreateStripPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
color Optional / branch-dependent BasicColorChannel \| undefined
size Optional / branch-dependent BasicSizeChannel \| undefined
shape Optional / branch-dependent BasicShapeChannel \| undefined
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
guides Optional / branch-dependent false \| CartesianGuideOptions \| undefined
x Required string \| { field: string; fieldType?: "quantitative" \| undefined; temporalUnit?: undefined; scale?: NonPointQuantitativePositionScaleOptions \| undefined; } \| { ...; } \| { ...; }
y Optional / branch-dependent string \| { field: string; fieldType?: "quantitative" \| undefined; temporalUnit?: undefined; scale?: NonPointQuantitativePositionScaleOptions \| undefined; } \| { ...; } \| { ...; } \| undefined
jitter Optional / branch-dependent false \| StripBandJitterOptions \| StripPixelJitterOptions \| undefined

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

createStripPlot({ id?, data?, x, y?, color?, size?, shape?, point?, jitter?, guides? })

Create a point strip from one measure or from one measure plus one categorical slot. Optional deterministic jitter moves only the category or constant slot and preserves the measured coordinate. Category jitter uses band units; a centered one-measure strip uses pixel units.

createBeeswarmPlot

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

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

createBeeswarmPlot(options: CreateBeeswarmPlotOptions): ChartProgram;

Named option contracts: CreateBeeswarmPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
color Optional / branch-dependent BasicColorChannel \| undefined
size Optional / branch-dependent BasicSizeChannel \| undefined
shape Optional / branch-dependent BasicShapeChannel \| undefined
point Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; radius?: number \| undefined; shape?: PointShape \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: FilledMarkStroke \| undefined; strokeWidth?: number \| undefined; }) \| undefined
packing Optional / branch-dependent false \| BeeswarmPackingOptions \| undefined
guides Optional / branch-dependent false \| CartesianGuideOptions \| undefined
x Required string \| { field: string; fieldType?: "quantitative" \| undefined; temporalUnit?: undefined; scale?: NonPointQuantitativePositionScaleOptions \| undefined; } \| { ...; } \| { ...; }
y Required string \| { field: string; fieldType?: "quantitative" \| undefined; temporalUnit?: undefined; scale?: NonPointQuantitativePositionScaleOptions \| undefined; } \| { ...; } \| { ...; }

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

createBeeswarmPlot({ id?, data?, coordinate?, x, y, color?, size?, shape?, point?, packing?, guides? })

Create a role-safe category/measure Point chart and deterministically pack actual glyph extents within each category slot. The facade reuses createStripPlot and packPoints; set packing: false to retain semantic centers without packing.

createRaincloudPlot

API layer: user-facing. Authoring roles: H0, H1.

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

createRaincloudPlot(options: CreateRaincloudPlotOptions): ChartProgram;

Named option contracts: CreateRaincloudPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required RaincloudCategoryChannel
value Required RaincloudValueChannel
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
side Optional / branch-dependent "after" \| "before" \| undefined
density Optional / branch-dependent false \| RaincloudDensityOptions \| undefined
summary Optional / branch-dependent false \| RaincloudSummaryOptions \| undefined
points Optional / branch-dependent false \| RaincloudPointsOptions \| undefined
color Optional / branch-dependent false \| RaincloudColorChannel \| undefined
guides Optional / branch-dependent false \| CartesianCategoricalPointGuideOptions \| undefined

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

createRaincloudPlot({ id?, data?, coordinate?, category, value, orientation?, side?, density?, summary?, points?, color?, guides? })

Create a shared-source distribution composite from an optional half Violin, Box or Interval summary, and Strip or Beeswarm raw points. Defaults are vertical, side: "before", Box summary, and Beeswarm points. Stable Cloud/Summary/Points children share role scales; summary and points use a replayable band-relative slot offset on the side opposite the density. color accepts its category field or a fixed { value: "#345678" }; every enabled component receives that color.

editRaincloudPlot

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

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

editRaincloudPlot(options: EditRaincloudPlotOptions): ChartProgram;

Named option contracts: EditRaincloudPlotOptions.

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
data Optional / branch-dependent string \| undefined
category Optional / branch-dependent RaincloudCategoryChannel \| undefined
value Optional / branch-dependent RaincloudValueChannel \| undefined
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
side Optional / branch-dependent "after" \| "before" \| undefined
density Optional / branch-dependent false \| RaincloudDensityOptions \| undefined
summary Optional / branch-dependent false \| RaincloudSummaryOptions \| undefined
points Optional / branch-dependent false \| RaincloudPointsOptions \| undefined
color Optional / branch-dependent false \| RaincloudColorChannel \| undefined

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

editRaincloudPlot({ target?, data?, category?, value?, orientation?, side?, density?, summary?, points?, color? })

Atomically revise one Raincloud’s shared source, roles, orientation, side, and component modes while preserving its parent and child IDs. Use false to disable an optional component or remove color; at least one component must remain enabled. Existing statistical references and their labels retain their identities, definitions, and styles, recompute from the revised source, and remain above the rebuilt components. Their measure axis follows orientation changes; if their original component is disabled, they bind to the remaining parent owner. When changing category without specifying color, an existing category-driven color follows the new field. Explicit color requests and fixed colors remain unchanged. An explicit parent ID also accepts encodeColor({ target: parentId, ... }) and observation-field filterMarks({ target: parentId, ... }). Parent filtering recomputes density, summary, and raw points from one retained population; child-ID filters remain display-only. Parent filters support replace, compose, and removal, and require observations suitable for the enabled statistics.

createBarPlot

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

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

createBarPlot(options: CreateBarPlotOptions): ChartProgram;

Named option contracts: CreateBarPlotOptions.

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
missing Optional / branch-dependent "error" \| "skip" \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
orientation Optional / branch-dependent "horizontal" \| "vertical" \| undefined
color Optional / branch-dependent BarColorChannel \| undefined
width Optional / branch-dependent Omit<BarWidthOptions, "interval" \| "target"> \| undefined
bar Optional / branch-dependent (StrokeStyleDetails & { cornerRadius?: number \| undefined; cornerRadiusTopLeft?: number \| undefined; cornerRadiusTopRight?: number \| undefined; cornerRadiusBottomRight?: number \| undefined; cornerRadiusBottomLeft?: number \| undefined; } & { ...; }) \| undefined
guides Optional / branch-dependent false \| ColorGuides \| undefined
x Required BarRangePositionChannel \| BarRangeOppositePositionChannel \| (Omit<PositionEncodingBase, "coordinate" \| "target"> & { ...; } & { ...; }) \| (Omit<...> & ... 1 more ... & { ...; }) \| (Omit<...> & ... 1 more ... & { ...; }) \| (Omit<...> & ... 1 more ... & { ...; })
y Required BarRangePositionChannel \| BarRangeOppositePositionChannel \| ({ field: string; bin?: undefined; fieldType: "temporal"; temporalUnit?: TemporalInputUnit \| undefined; aggregate?: undefined; stack?: undefined; scale?: NonPointTemporalPositionScaleOptions \| undefined; } & { ...; }) \| ({ ...; } & ... 1 more ... & { ...; }...

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

createBarPlot({ id?, data?, coordinate?, orientation?, x, y, color?, width?, bar?, missing?, guides? })

Create categorical, temporal or binned bars with quantitative measures; bin rectangles fill their complete intervals, while category bars default to 0.72 of the slot. Use color.layout for grouped or stacked partitions; guides are inferred unless disabled. A channel may instead specify { lower, upper, scale? } for raw interval bars without aggregation. Binned quantitative X with an explicit Y aggregate creates interval-width bars per bin and series; use color.layout or layoutSeries for overlay, stack, fill or group. Empty bins retain their interval gaps. Two raw numeric positions preserve each input row and numeric center spacing. Their orientation defaults to vertical (or follows the range channel); use orientation: "horizontal" for horizontal numeric bars. Their width defaults to 5 pixels and accepts width: { pixels }, with overlay layout only. Numeric bars extend to zero unless explicit lower/upper bounds are supplied. Category-first child calls infer the ordinary single-field measure’s mean in either orientation; temporal categories are supported on both axes. Basic Charts

createHistogram

API layer: user-facing. Authoring roles: H0, H1.

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

createHistogram(options: CreateHistogramOptions): ChartProgram;

Named option contracts: CreateHistogramOptions.

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
xScale Optional / branch-dependent NonPointQuantitativePositionScaleOptions \| undefined
yScale Optional / branch-dependent NonPointZeroSupportingPositionScaleOptions \| undefined
weight Optional / branch-dependent StatisticalWeight \| undefined
maxBins Optional / branch-dependent number \| undefined
binStep Optional / branch-dependent number \| undefined
binBoundaries Optional / branch-dependent readonly [number, number, ...number[]] \| undefined
stack Optional / branch-dependent StackMode \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
field Required string
color Optional / branch-dependent HistogramCategoricalColorChannel \| undefined
bar Optional / branch-dependent (StrokeStyleDetails & { cornerRadius?: number \| undefined; cornerRadiusTopLeft?: number \| undefined; cornerRadiusTopRight?: number \| undefined; cornerRadiusBottomRight?: number \| undefined; cornerRadiusBottomLeft?: number \| undefined; } & { ...; }) \| undefined
guides Optional / branch-dependent false \| (Omit<CartesianCategoricalGuideOptions, "grid"> & { grid?: false \| ContinuousCartesianGridOptions \| undefined; }) \| undefined

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

createHistogram({ id?, data?, coordinate?, field, maxBins?, binStep?, binBoundaries?, stack?, xScale?, yScale?, color?, bar?, guides? })

Create a bar layer with atomic bin and count encodings. Exactly one bin mode may be specified. Basic Charts

createHeatmap

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

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

createHeatmap(options: CreateHeatmapOptions): ChartProgram;

Named option contracts: CreateHeatmapOptions.

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 Required BinnedHeatmapPositionChannel \| HeatmapCategoryPositionChannel
y Required BinnedHeatmapPositionChannel \| HeatmapCategoryPositionChannel
bin Optional / branch-dependent HeatmapBinOptions \| undefined
color Optional / branch-dependent BinnedHeatmapColorOptions \| RectColorChannel \| undefined
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
rect Optional / branch-dependent (StrokeStyleDetails & { cornerRadius?: number \| undefined; cornerRadiusTopLeft?: number \| undefined; cornerRadiusTopRight?: number \| undefined; cornerRadiusBottomRight?: number \| undefined; cornerRadiusBottomLeft?: number \| undefined; } & { ...; }) \| undefined
guides Optional / branch-dependent false \| CartesianSeparateGuideOptions \| undefined

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

createHeatmap({ id?, data?, coordinate?, x, y, bin?, color?, rect?, guides? })

Create one rect cell per valid pre-gridded row, or bin raw quantitative x/y rows into ranged cells colored by count. Basic Charts

createParallelCoordinates

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

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

createParallelCoordinates(options: CreateParallelCoordinatesOptions): ChartProgram;

Named option contracts: CreateParallelCoordinatesOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
dimensions Required readonly [ParallelDimension, ParallelDimension, ...ParallelDimension[]]
key Optional / branch-dependent string \| undefined
missing Optional / branch-dependent ParallelMissingPolicy \| undefined
color Optional / branch-dependent LineCategoricalColorChannel<NonPointCategoricalColorScaleOptions> \| undefined
strokeDash Optional / branch-dependent Omit<{ value: DashPattern \| DashStyle; field?: undefined; target?: string \| undefined; fieldType?: undefined; scale?: undefined; }, "target"> \| (Omit<Omit<...>, "scale"> & { ...; }) \| undefined
line Optional / branch-dependent (StrokeStyleDetails & { strokeWidth?: number \| undefined; stroke?: string \| undefined; opacity?: number \| undefined; curve?: "linear" \| undefined; closed?: false \| undefined; }) \| undefined
guides Optional / branch-dependent false \| ParallelGuideOptions \| undefined

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

createParallelCoordinates({ id?, data?, coordinate?, dimensions, key?, missing?, color?, strokeDash?, line?, guides? })

Create one open line path per source row across an ordered list of dimension- local scales and axes. Only dimensions is required. Parallel Coordinates

createPiePlot

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

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

createPiePlot(options: CreatePiePlotOptions): ChartProgram;

Named option contracts: CreatePiePlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required PieCategory
color Optional / branch-dependent false \| PieColor \| undefined
radius Optional / branch-dependent PieRadiusChannel \| undefined
arc Optional / branch-dependent (StrokeStyleDetails & { innerRadius?: ArcInnerRadius \| undefined; padAngle?: number \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: string \| undefined; strokeWidth?: number \| undefined; }) \| undefined
guides Optional / branch-dependent false \| { axes?: false \| undefined; grid?: false \| undefined; legend?: false \| PieLegendOptions \| undefined; } \| undefined
value Optional / branch-dependent string \| undefined
aggregate Optional / branch-dependent "count" \| "sum" \| undefined

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

createPiePlot({ id?, data?, coordinate?, category, value?, aggregate?, color?, radius?, arc?, guides? })

Create one sector per category in the full package. category is required and defaults to nominal count, including numeric categories. For weights, provide value; this infers aggregate: "sum". Values must be finite and nonnegative with a positive total. Color defaults to the category. Use color: false for a scalar arc.fill; otherwise each slice must resolve to one categorical color.

Optional radius independently maps each slice’s outer radius while preserving proportional angles. Use a field string for one consistent value per category, or { field: "amount", aggregate: "sum", scale: { type: "sqrt" } } to sum radius values per category. { aggregate: "count" } counts rows without a field. Domains use the final category measures. New non-log radius scales default to zero: true; explicit scale settings override that default and existing scales retain their policy. Every mapped outer radius must exceed the inner radius. Value/share labels continue to describe angular values. Use encodeR to edit the radius; equal-angle rose/radial-bar mappings are separate chart types.

arc.innerRadius is a radius ratio in [0,1) or { unit: "px", value } for a non-negative fixed inner radius smaller than the outer radius; arc.padAngle is in degrees. Use these options for a donut. guides defaults to a color legend with no axes or grid; guides: false skips guide creation. Explicit axes/grid requests must be false. A zero-weight category may remain in the color legend without a sector. The default id is piePlot. Edit with editArcMark, theta/color encodings, scales and legend actions. Pie and donut tutorial

createRosePlot

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

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

createRosePlot(options: CreateRosePlotOptions): ChartProgram;

Named option contracts: CreateRosePlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required PieCategory
color Optional / branch-dependent false \| PieColor \| undefined
radiusScale Optional / branch-dependent MeasuredRadiusScaleOptions \| undefined
arc Optional / branch-dependent (StrokeStyleDetails & { innerRadius?: ArcInnerRadius \| undefined; padAngle?: 0 \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: string \| undefined; strokeWidth?: number \| undefined; }) \| undefined
guides Optional / branch-dependent false \| MeasuredRadialGuideOptions \| undefined
value Optional / branch-dependent string \| undefined
aggregate Optional / branch-dependent "count" \| "sum" \| undefined

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

createRosePlot({ id?, data?, coordinate?, category, value?, aggregate?, radiusScale?, color?, arc?, guides? })

Create equal-angle sectors whose sector area, excluding the hole is proportional to category count or sum. Category is required; omit value for count or provide value to infer aggregate: “sum”. Color defaults to category and guides provide theta/radius axes, Polar grids, and a categorical legend. Use guides:false to skip them, or color:false with arc.fill for one color.

The default id is rosePlot. Radius scales are linear and zero-based; explicit domain [0,U] must cover all aggregates and range [inner,outer] must fit the resolved Polar frame. Arc padAngle is 0 and an explicitly specified innerRadius must agree with the range. Zero categories retain domain entries but draw no sector. Negative, nonfinite, empty/all-zero and unrepresentable positive-thickness inputs are errors. Edit the child mark, encodings, scales and guides with their own actions.

Measured radial tutorial

createRadialBarPlot

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

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

createRadialBarPlot(options: CreateRadialBarPlotOptions): ChartProgram;

Named option contracts: CreateRadialBarPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
category Required PieCategory
color Optional / branch-dependent false \| PieColor \| undefined
radiusScale Optional / branch-dependent MeasuredRadiusScaleOptions \| undefined
arc Optional / branch-dependent (StrokeStyleDetails & { innerRadius?: ArcInnerRadius \| undefined; padAngle?: 0 \| undefined; fill?: string \| undefined; opacity?: number \| undefined; stroke?: string \| undefined; strokeWidth?: number \| undefined; }) \| undefined
guides Optional / branch-dependent false \| MeasuredRadialGuideOptions \| undefined
value Optional / branch-dependent string \| undefined
aggregate Optional / branch-dependent "count" \| "sum" \| undefined

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

createRadialBarPlot({ id?, data?, coordinate?, category, value?, aggregate?, radiusScale?, color?, arc?, guides? })

Create equal-angle sectors whose radial length measured from the inner edge is proportional to category count or sum. Category is required; omit value for count or provide value to infer aggregate: “sum”. Color defaults to category and guides provide theta/radius axes, Polar grids, and a categorical legend. Use guides:false to skip them, or color:false with arc.fill for one color.

The default id is radialBarPlot. Radius scales are linear and zero-based; explicit domain [0,U] must cover all aggregates and range [inner,outer] must fit the resolved Polar frame. Arc padAngle is 0 and an explicitly specified innerRadius must agree with the range. Zero categories retain domain entries but draw no sector. Negative, nonfinite, empty/all-zero and unrepresentable positive-thickness inputs are errors. Edit the child mark, encodings, scales and guides with their own actions.

Measured radial tutorial

createAreaPlot

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

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

createAreaPlot(options: CreateAreaPlotOptions): ChartProgram;

Named option contracts: CreateAreaPlotOptions.

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
id Optional / branch-dependent string \| undefined
data Optional / branch-dependent string \| undefined
coordinate Optional / branch-dependent string \| undefined
groupBy Optional / branch-dependent string \| readonly [string, ...string[]] \| undefined
layout Optional / branch-dependent "center" \| "diverging" \| "fill" \| "overlay" \| "stack" \| undefined
missing Optional / branch-dependent "break" \| "error" \| undefined
color Optional / branch-dependent string \| { field: string; fieldType?: "nominal" \| "ordinal" \| undefined; scale?: NonPointCategoricalColorScaleOptions \| undefined; palette?: Palette \| undefined; } \| undefined
area Optional / branch-dependent (StrokeStyleDetails & { clip?: boolean \| undefined; fill?: FillPaint \| undefined; opacity?: number \| undefined; stroke?: string \| undefined; strokeWidth?: number \| undefined; curve?: CurveInterpolation \| undefined; }) \| undefined
guides Optional / branch-dependent false \| (Omit<DensityPlotGuideOptions, "grid"> & { grid?: false \| CartesianGridOptions \| undefined; }) \| undefined
valueChannel Optional / branch-dependent "x" \| "y" \| undefined
x Required { field: string; scale?: NonPointQuantitativePositionScaleOptions \| undefined; } \| AreaPlotIndependentChannel \| ({ ...; } & ({ ...; } \| { ...; }))
y Required { field: string; scale?: NonPointQuantitativePositionScaleOptions \| undefined; } \| AreaPlotIndependentChannel \| ({ ...; } & ({ ...; } \| { ...; }))
baseline Optional / branch-dependent number \| undefined

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

createAreaPlot({ id?, data?, coordinate?, x, y, valueChannel?, baseline?, groupBy?, layout?, missing?, color?, area?, guides? })

Create a simple area, crossing ribbon, or accumulated series chart in the full entry. The default ID is areaPlot; x and y are required. valueChannel defaults to y. Its measurement is a field string, {field,scale?}, or {lower,upper,scale?}. Each bound is a field string or finite {datum} and at least one bound must use a field. A simple field closes to baseline 0; baseline cannot accompany a range. The independent position is quantitative, temporal, nominal, or ordinal. Categorical positions follow the scale domain order and accept point or band scales; temporalUnit applies only to temporal fields.

groupBy explicitly identifies nominal series using a field or a unique nonempty tuple. Color is optional, categorical, and constant within each series. layout defaults to overlay; stack/fill/diverging require one value field, baseline 0 and aligned unique group×position rows. Center also requires vertical nonnegative values. Missing defaults to error; missing:"break" closes separate segments with at least two valid points. A missing measure at one position splits every accumulated series there. NaN, infinity and missing independent positions remain errors. No source rows or baseline fields are synthesized.

area accepts fill/opacity/stroke/strokeWidth/curve; opacity defaults to .2. Field color conflicts with fill. Guides default to compatible Cartesian axes/grid and an optional categorical color legend; false skips creation. Edit the result with range/endpoint encodings, encodeGroup, layoutSeries, editAreaMark and scale/guide actions. See the Area and series layout tutorial.

Focused core data editing

editDerivedData({ target, definition, dependents? })
editFilteredData({ target, field?, oneOf? | noneOf? | predicate? | range?, nulls?, dependents? })
editSortedData({ target, sortBy, dependents? })
editTimeUnitData({ target, field?, unit?, as?, temporalUnit?, timeZone?, weekStartsOn?, weekRule?, dependents? })
editWindowData({ target, partitionBy?, sortBy?, operations?, temporalUnit?, dependents? })
editDensityData({ target, field?, groupBy?, bandwidth?, extent?, steps?, kernel?, normalization?, as?, weight?, dependents? })
editRegressionData({ target, x?, y?, groupBy?, method?, degree?, span?, robustIterations?, confidenceMethod?, level?, interval?, dependents? })

Revise a standalone derived-data owner without rebuilding its consumers. New focused editors require an explicit logical owner or current snapshot. Omitted transform options remain unchanged. The generic form requires a complete requested transform of the same type and does not accept id, source, current, or resolved materializer output.

dependents defaults to "reject". Set it to "recompute" to revise every reachable derived dataset in dependency order. The operation is atomic: an invalid downstream field, scale, mark, guide, label, or selection preserves the entire input program. Output names are carried only across unambiguous direct semantic roles; expressions and predicates are never rewritten as strings. Editing derived data

Focused channel scale editors

editXScale({ id?, target?, type?, domain?, range?, ...positionOptions })
editYScale({ id?, target?, type?, domain?, range?, ...positionOptions })
editXOffsetScale({ target, domain?, reverse?, padding?, paddingInner?, paddingOuter?, align? })
editYOffsetScale({ target, domain?, reverse?, padding?, paddingInner?, paddingOuter?, align? })
editParallelScale({ target, dimension, type?, domain?, range?, ...dimensionOptions })
editThetaScale({ id?, target?, type?, domain?, range?, ...angularOptions })
editRScale({ id?, target?, type?, domain?, range?, radialMapping?, ...radialOptions })
editColorScale({ id?, target?, type?, domain?, range?, palette?, interpolate?, midpoint?, unknown? })
editStrokeScale({ target, type?, domain?, range?, palette?, interpolate?, midpoint?, unknown? })
editSizeScale({ id?, target?, type?, domain?, range?, unknown?, clamp?, reverse?, base?, exponent? })
editOpacityScale({ id?, target?, type?, domain?, range?, nice?, zero?, clamp?, reverse?, unknown? })
editShapeScale({ id?, target?, type?, domain?, range?, unknown? })
editStrokeWidthScale({ id?, target?, type?, domain?, range?, ...quantitativeOptions })
editStrokeDashScale({ id?, target?, type?, domain?, range?, unknown? })

Edit the scale bound to one semantic channel without requiring its generated ID. Explicit id and target selectors must agree. Otherwise the current mark’s channel scale wins, followed by a unique channel scale across all marks; ambiguity is an error. Every action delegates to editScale, which validates the channel-specific patch and refreshes all shared marks and guides. editParallelScale is the field-selected exception: both target and the exact Parallel dimension field are required, and its generated scale ID is resolved internally. The offset editors also require target; they resolve only that mark’s matching nested offset scale. Their concrete range remains derived from the parent categorical slot, while the semantic scale owns domain, reverse, padding, and alignment. editStrokeScale likewise requires a mark target and rejects raw scale IDs. It edits the target’s field-driven stroke mapping and accepts a color/stroke shared scale when every connected consumer remains compatible. Size scale ranges are glyph areas. Continuous size scales accept clamp and reverse; logarithmic scales accept base, and power scales require exponent. Quantize, quantile, and threshold use explicit nondecreasing area ranges. A family transition requires an explicit new domain and the destination range rules to be satisfied. Scale options

Action Reference · Chart API · Supported Features

Documentation provenance

293 actions · sha256:e755591a2e5f5e2b494867583876e28020a478c5220b77bdc6ad469a6224891d