OptionalidUnique identifier for the chart. Used as the MAIDR id.
OptionaltitleChart title displayed in text descriptions.
OptionalsubtitleChart subtitle.
OptionalcaptionChart caption.
OptionalaxesAxis configuration. Each axis may be provided as either a plain string
(shorthand for { label: value }) or a full AxisConfig object
(for per-axis format, or grid navigation on scatter).
For heatmaps and segmented bar charts, use fill for the color/category
axis; the binder maps it to the canonical z axis in the MAIDR schema.
Optionalx?: D3AxisInputOptionaly?: D3AxisInputOptionalfill?: D3AxisInputFill/color axis for heatmaps and segmented bars. Maps to z internally.
OptionalformatOptional formatting configuration applied to axes that do not specify
their own format. Per-axis format on AxisConfig takes precedence.
OptionalautoWhen true (the default), the binder writes the generated MAIDR schema
to the SVG as a maidr-data attribute so vanilla-JS users don't need
to call svg.setAttribute(...) themselves. The returned result is
unchanged either way.
Set to false if you are driving MAIDR yourself — e.g. passing the
returned schema to <Maidr data={...}> or persisting it elsewhere.
The React adapter (useD3Adapter, MaidrD3) forces this
to false internally so it can stay in control of the schema.
CSS selector for the observation paths (e.g. 'path.observation',
'polyline.line'). Each matched element is one observation.
The axes, in the order they are drawn. Each is a key on the observation.
OptionalvalueReads one dimension off an observation. Defaults to a plain property
lookup — supply this when the values are nested (d.values[dimension])
or need converting.
OptionallabelAccessor for the observation's name, announced as its series name.
Configuration for binding a D3 parallel coordinates plot.
The chart draws one
<path>(or<polyline>) per observation across several per-variable scales, and the datum bound to it is that observation as a whole —{ mpg: 21, hp: 110, weight: 2600 }. The layer's rows are the observations and its columns are the axes, so the binder transposes: for each observation it emits one point per entry ofdimensions, whosexis the axis' name and whoseyis that observation's value on it.dimensionsis required, and is the same list the chart already built one scale per: the order is the order the axes are drawn in, which is the order a reader arrows through them. Nothing on the datum says it — an object's key order is not an axis order — and a guessed one would announce the chart's columns in the wrong places.