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 interval elements (e.g. 'rect.task').
OptionalxAccessor for the lane an interval belongs to.
OptionalstartAccessor for where the interval begins.
OptionalendAccessor for where the interval ends.
OptionallabelAccessor for what the interval is called, when the lane is not already its name.
OptionallanesThe lanes, in the order the chart draws them.
Needed only for empty lanes: a lane with nothing booked has no element in the DOM at all, so the binder cannot discover it, and an empty row is a real statement about a schedule. Lanes carrying intervals name themselves and need no entry here; any the binder finds and this does not declare are appended in the order they were drawn.
OptionalunitWhat a unit of the axis is called — 'days', 'hours', 'weeks'.
OptionalorientationChart orientation.
Configuration for binding a D3 gantt (timeline, swimlane) chart.
Point
selectorat the interval marks — one<rect>per booked interval on a band scale of lanes. The binder groups them into lanes itself: the payload is nested by lane, and the DOM order a chart happens to draw in is not that grouping.Dates are coerced to epoch milliseconds. A
Dateor a date string is turned into a number so the trace can measure lengths at all; pair it withformat: { type: 'date' }so the ends are announced as dates rather than as timestamps.Example