OptionalasOptionalaxisWhich <YAxis> (by its id) this band scales against — the scale, where
as picks the style. Omitted ⇒ the row's default axis.
OptionalcurveRender-time edge interpolation — both edges drawn with this curve. Omitted
⇒ 'linear'. Prefer a symmetric curve ('natural'/'basis') to
smooth a sparse aggregated envelope (RTC's interpolation) — 'monotone'
assumes increasing x and smooths the right→left lower edge asymmetrically.
Denoise the underlying values with smooth(), not this.
Optional InternalindexDeclaration position among the <Layers> children, injected by
Layers so z-order follows JSX order. Do not set.
Name of the numeric column for the band's lower edge (e.g. p25).
The source series. A TimeSeries fills the envelope against the time axis;
a ValueSeries (series.byValue('dist')) against its value axis — the
container infers which from the data, no axis-type prop (mirrors
<LineChart> / <AreaChart>). Either way lower/upper name the numeric
edge columns.
Live charts: series.byValue(…) mints a fresh projection each call, so
an inline series={s.byValue('dist')} re-registers this layer every render —
on a frequently re-rendering chart, memoize the projection (useMemo).
Name of the numeric column for the band's upper edge (e.g. p75).
The band's semantic identifier — what the spread is (e.g.
outerfor a p5/p95 envelope,innerfor p25/p75). The theme maps it to a BandStyle (theme.band[as] ?? theme.band.default). Omitted ⇒ thedefaultband style — no per-component fill/opacity override (restyle via the theme, the single styling channel).