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 level paths (e.g. 'path.contour'). One per level.
OptionallevelAccessor for the level's value.
OptionalcoordinatesAccessor for the GeoJSON rings.
OptionalxMaps a grid x onto the x axis.
OptionalyMaps a grid y onto the y axis.
Configuration for binding a D3 contour plot.
d3.contours()andd3.contourDensity()emit one GeoJSONMultiPolygonper threshold, carrying the threshold as.value, soselectormatches one<path>per level and the layer's rows are the levels.The coordinates are not in data space.
d3.contours()emits grid indices andd3.contourDensity()emits pixels, soxandyare the transforms back onto the axes —x: i => x0 + i * dxfor the former,x: px => xScale.invert(px)for the latter. Left out, the chart announces its positions in grid cells or screen pixels.A level drawn as several disjoint rings is flattened into one curve, in the order the rings appear, since a row of the payload is a single polyline. Every point announced is a real point of the level; what a reader cannot hear is the jump from the end of one ring to the start of the next.