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 TimeSeries plots on time, a ValueSeries
(series.byValue('strike') or ValueSeries.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 (a ValueSeries, or a point-keyed TimeSeries),
neighbour spacing — so it never collapses to the 1px floor.
Range-only.q1/q3 (the body) and median (the centre line) are
optional: omit q1+q3 for a whisker-only lower→upper segment — a bid→ask
IV mark. Gap-aware: a key missing any present quantile draws nothing.
offset nudges 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> <BoxPlotseries={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): <BoxPlotseries={smile} lower="bid"upper="ask" /> </Layers>
A discrete box-and-whisker draw layer — the bar-chart analog of the variance band. Reads pre-computed quantile columns of
series(typically arolling/aggregatepercentile 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.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.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).