Optional Readonlyhasfalse ⇒ q1/q3 absent (range-only box, no body). Default true.
Optional Readonlyhasfalse ⇒ median absent (no centre line). Default true.
ReadonlylengthReadonlylowerReadonlymedianReadonlyq1Readonlyq3ReadonlyupperReadonlyxReadonlyx
A chart-ready view of a box-and-whisker series (BoxPlot): a horizontal span (
x/xEnd) per key plus its quantile edges — the requiredlower/upper(whisker reach) and the optionalq1/median/q3(box body + centre line). The quantiles are pre-computed columns (arolling/aggregatepercentile pass upstream); the chart only reads them.A key is drawn only where the quantiles it carries are all finite (a full box needs all five; a range-only box just
lower/upper); any present oneNaNis a gap (the box draws nothing — same gap contract as BandSeries).xandxEndare the box's horizontal span. An interval-keyedTimeSeriesuses the key's own[begin, end); a point-keyedTimeSeries(or aValueSeries, always point-keyed on its value axis) synthesizes the span from neighbour spacing (each box centred on its key, reaching halfway to each neighbour — the same rule as bars / candles), so a point series still gets real box width instead of collapsing to the 1px floor.Range-only boxes.
q1/median/q3are optional at the source (a bid→ask IV segment is a degenerate box — whiskers only, no body).hasBoxisfalsewhenq1/q3were omitted (no box body; the whisker runs the fulllower→upper), andhasMedianisfalsewhenmedianwas omitted (no centre line). Absent quantile buffers are all-NaN; the flags — not the buffers — decide what draws, so an absent quantile isn't confused with a per-row gap. Both default totrue(a full five-number box) when unset.