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 per-estimate elements (e.g. 'g.estimate').
OptionalxAccessor for the x-axis (category) value.
OptionalyAccessor for the estimate itself.
OptionalyAccessor for the interval's absolute lower bound.
OptionalyAccessor for the interval's absolute upper bound.
OptionalorientationChart orientation.
Configuration for binding a D3 error-bar (point-range) chart.
The canonical D3 idiom is one
<g>per estimate holding a<line>for the interval and a marker for the estimate itself, so pointselectorat those groups — one matched element per estimate, whichever mark carries it.The bounds are absolute positions on the value axis, not half-widths. That is the one conversion this binder cannot do for you: a datum carrying
±seneeds a function accessor (yMin: d => d.mean - d.se), because the binder has no way to tell an offset from a bound by looking at it.Example