A discrete box-and-whisker draw layer — the bar-chart analog of the variance
band. Reads pre-computed quantile columns of series (typically a
rolling/aggregate percentile pass — the chart does not compute them)
into a BoxSeries and draws one box per key: the q1→q3 body, the median
line, and whiskers out to lower/upper. Registers itself into the enclosing
Layers; renders nothing to the DOM — the row draws it.
- Any axis. A
TimeSeriesplots on time, aValueSeries(series.byValue('strike')orValueSeries.fromColumns) on its value axis — a vol smile's per-strike IV. The box width is the interval key's[begin, end)or, for a point key (aValueSeries, or a point-keyedTimeSeries), neighbour spacing — so it never collapses to the 1px floor. - Range-only.
q1/q3(the body) andmedian(the centre line) are optional: omitq1+q3for a whisker-onlylower→uppersegment — a bid→ask IV mark. Gap-aware: a key missing any present quantile draws nothing. offsetnudges the whole layer in pixel space, for pairing same-key marks (call/put at one strike) side by side.
There's no baseline — a box is a spread, not a bar to a floor; the y-domain auto-fits the whisker reach (lower→upper).
<Layers>
<BoxPlot series={q} lower="p5" q1="p25" median="p50" q3="p75" upper="p95"
as="latency" gap={6} />
// range-only bid→ask on a value axis (a vol smile):
<BoxPlot series={smile} lower="bid" upper="ask" />
</Layers>