IntervalBandSeries
Import from @pibbl/core/viz.
IntervalBandSeries<D>(props: IntervalBandSeriesProps<D>): PibblNode fills between
two data-derived bounds. Unlike ReferenceBand, the bounds may change at every
observation. It does not invent a midpoint, aggregate data, or infer uncertainty.
Required inputs: data, x, lower, upper, xScale, and yScale. Data accepts
a readonly array or signal. Each accessor is a numeric field key or callback
(datum, index, data) => number | null | undefined. Both named scales must be
continuous: linear, UTC, log, or symlog. defined? runs before accessors. Missing,
nonfinite, or excluded coordinates split runs; at least two matching observations
are needed to draw. Authored order is preserved. Each polygon follows upper
bounds forward and lower bounds backward. Equal bounds produce zero area;
finite lower > upper throws RangeError identifying the row rather than silently
swapping their meaning. Invalid log coordinates also throw.
Presentation reuses AreaSeriesStyle: fill defaults to #2563eb, opacity to
0.2, and cursor is optional. Data, whole style, and its direct fields accept
signals; accessors track signal reads normally. Replace arrays to update them.
Opacity must be finite in [0, 1]. Invalid data/paint/style throws TypeError;
invalid opacity or scale mapping throws RangeError. Scale lookup failures follow
normal scale contracts. Unmount/failure cleanup uses the existing runtime.
One ordinary Path owns the complete batch and its filled event geometry. Use
pointerEvents="none" when decorative, and inspect the original observations
separately. Core transforms and explicit Clip apply; no layout, clipping,
margins, or scheduler is added. Compose LineSeries for either boundary.
Coordinates are connected by straight segments; these are interpolated edges,
not extra measurements. Unordered x values can self-intersect under Canvas’s
nonzero fill rule; no sorting is hidden.
The daily temperature example uses published NOAA daily minimum and maximum observations. The range describes a day’s temperature extremes, not a confidence or prediction interval.
Optional curve accepts the named step or monotone definitions;
omission and "linear" retain straight segments.
API details from source
Section titled “API details from source”
IntervalBandSeries
Section titled “IntervalBandSeries”Draws a filled band between matching lower and upper observations.
Missing, non-finite, and excluded coordinates split runs. A lower value above its upper value rejects the datum; equal bounds produce zero-area geometry. The component owns one ordinary Path target, so event participation follows standard Path defaults.
IntervalBandSeries: <D>({ data: dataInput, x: xInput, lower: lowerInput, upper: upperInput, xScale: xId, yScale: yId, defined, curve, style: styleInput, ...eventProps }: IntervalBandSeriesProps<D>) => JSX.ElementRelated API: IntervalBandSeries, IntervalBandSeriesProps, JSX.
Parameters
Section titled “Parameters”props— Data, coordinate accessors, continuous scales, and presentation.
Returns
Section titled “Returns”A Pibbl path node containing all drawable interval-band runs.
Throws
Section titled “Throws”When data, presentation, or bounds are invalid.
See also
Section titled “See also”View source — packages/core/src/features/viz/lib/interval-band-series.tsx:93
IntervalBandSeriesProps
Section titled “IntervalBandSeriesProps”Authored inputs for IntervalBandSeries.
The data, horizontal coordinate, scales, and defined predicate use the same contract as LineSeriesProps. Each contiguous run of at least two observations draws its upper boundary forward and lower boundary backward.
interface IntervalBandSeriesProps<D> extends PibblEventHandlers, PibblEventParticipationOptionsRelated API: IntervalBandSeriesProps, PibblEventHandlers, PibblEventParticipationOptions.
See also
Section titled “See also”View source — packages/core/src/features/viz/lib/interval-band-series.tsx:35
Properties and methods
Section titled “Properties and methods”
data
readonly data: SignalValue<readonly D[]>Related API: SignalValue.
Application data supplied directly or through a signal.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:38
x
readonly x: LineAccessor<D>Related API: LineAccessor.
Property key or callback extracting the horizontal coordinate.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:40
lower
readonly lower: LineAccessor<D>Related API: LineAccessor.
Property key or callback extracting the lower bound.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:42
upper
readonly upper: LineAccessor<D>Related API: LineAccessor.
Property key or callback extracting the upper bound.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:44
xScale
readonly xScale: ScaleIdRelated API: ScaleId.
Continuous scale used to map horizontal data coordinates.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:46
yScale
readonly yScale: ScaleIdRelated API: ScaleId.
Continuous scale used to map both data bounds.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:48
defined (optional)
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefinedSelects records that participate in a matching-bounds run.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:50
curve (optional)
readonly curve?: LineCurve | undefinedRelated API: LineCurve.
Curve used to connect successive matching bounds.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:52
style (optional)
readonly style?: SignalValue<Readonly<{ readonly fill?: SignalValue<FillStyle | undefined>; readonly opacity?: SignalValue<number | undefined>; readonly cursor?: SignalValue<string | undefined>; }>> | undefinedRelated API: SignalValue, FillStyle, opacity.
Shared band presentation. Individual datum styling is not supported.
View source — packages/core/src/features/viz/lib/interval-band-series.tsx:54
pointerEvents (optional)
readonly pointerEvents?: PibblPointerEvents | undefinedRelated API: PibblPointerEvents.
Whether this content participates in pointer targeting. See PibblPointerEvents.
Implementation guidance for agents
Section titled “Implementation guidance for agents”Read the Data visualization companion for ownership, adaptation, failure modes, and verification. Agent start provides the version-selection workflow.
Complete minimal examples
Section titled “Complete minimal examples”- Observed interval band: Map paired published lower/upper observations into a filled band. Plain source
Documentation version
Section titled “Documentation version”Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.