A bar / histogram draw layer. In its simplest form, one rectangle per event
spanning the key's [begin, end] from the axis baseline to a numeric
column's value (see below). It also draws stacked bars (a group-by
dimension → segments, columns / a Map series / bins) and horizontal
bars (orientation='horizontal', bins on the y axis) — first-class histogram
support. Registers into the enclosing Layers and renders nothing to the
DOM; the row draws it.
Data sources. A time / value TimeSeries or ValueSeries (column), a
wide series or bins array (columns), or a Map<group, TimeSeries>
(column) — the last three stack. Every shape composes from pond's own
aggregation (aggregate / byColumn / partitionBy); the histogram guide
has the recipes.
Baseline (single, vertical). Bars rest on the zero line when the axis
domain spans zero, or on the axis floor when an explicit <YAxis min> sits
above zero (see resolveBarBaseline).
Baseline (stacked). A stack is cumulative from value 0 — the segments
sum upward from the zero line, so its value axis must include 0. The
auto-fit guarantees this: stackValueExtent always returns [0, maxTotal].
An explicit <YAxis min>above 0 is therefore unsupported for a stack — it
would hide the bottom of the cumulative column; only the portion above the floor
draws (clipped cleanly at the plot floor, as any bar below an explicit floor is).
Segment values are assumed non-negative (a negative or zero segment is
skipped — diverging stacks are out of scope).
Interaction (opt-in via id). Hover lights the bar / segment under the
cursor (hit-tested by pixel rect, so it works in both orientations); click
selects it (outlined). A stacked segment's identity is (id, key = bin begin, label = group). Both channels are controllable from outside via the container
(selected/onSelect, hovered/onHover). The in-chart flag/crosshair
value cursor is single-series-vertical only.
A bar / histogram draw layer. In its simplest form, one rectangle per event spanning the key's
[begin, end]from the axis baseline to a numericcolumn's value (see below). It also draws stacked bars (a group-by dimension → segments,columns/ aMapseries /bins) and horizontal bars (orientation='horizontal', bins on the y axis) — first-class histogram support. Registers into the enclosing Layers and renders nothing to the DOM; the row draws it.Data sources. A time / value
TimeSeriesorValueSeries(column), a wide series orbinsarray (columns), or aMap<group, TimeSeries>(column) — the last three stack. Every shape composes from pond's own aggregation (aggregate/byColumn/partitionBy); the histogram guide has the recipes.Baseline (single, vertical). Bars rest on the zero line when the axis domain spans zero, or on the axis floor when an explicit
<YAxis min>sits above zero (see resolveBarBaseline).Baseline (stacked). A stack is cumulative from value 0 — the segments sum upward from the zero line, so its value axis must include 0. The auto-fit guarantees this: stackValueExtent always returns
[0, maxTotal]. An explicit<YAxis min>above 0 is therefore unsupported for a stack — it would hide the bottom of the cumulative column; only the portion above the floor draws (clipped cleanly at the plot floor, as any bar below an explicit floor is). Segment values are assumed non-negative (a negative or zero segment is skipped — diverging stacks are out of scope).Interaction (opt-in via
id). Hover lights the bar / segment under the cursor (hit-tested by pixel rect, so it works in both orientations); click selects it (outlined). A stacked segment's identity is(id, key = bin begin, label = group). Both channels are controllable from outside via the container (selected/onSelect,hovered/onHover). The in-chartflag/crosshairvalue cursor is single-series-vertical only.