Multiline Chart
Time-series charts with a fixed top bar / plot / legend recipe and scrub tooltips.
Playground
Fixed recipe: top bar (title or menu + ranges/menu), plot with optional axes/grid, bottom legend. Scrub tooltip sits above the plot.
Base Rates
Connect rate
Dense multi-series line. Legend hide fades opacity; Y domain rescales the remaining series.
Connect rate
Legend with values
legend="values" shows Name: amount — series.value or latest datum.
Call outcomes
Daily concurrency
Area chart with both axes. Soft gradient fill under each line; strokes stay on top.
Per minute concurrency
Best practices
When to use
- Use MultilineChart for time-series metrics — rates, connect %, concurrency — when hover comparison across series matters.
- Use BarList or BarFill for ranked categorical volume (top pages, agent leaderboard). Do not use MultilineChart for a single static ranking.
- Gauge remains the circular 0–100 meter; do not replace it with a tiny line chart.
Behavior
- Fixed chrome: top bar (title or ghost menu + range tabs or menu) → plot → bottom legend. Do not invent alternate placements.
- axes: none | x | y | both. showGrid toggles horizontal rules (default off). Y-axis side uses a left fade on the plot only — labels stay crisp.
- legend: none | labels | values. Hide fades opacity (path stays); Y domain animates to visible series. All series may be hidden.
- Hover panel is a custom floating surface above the plot (not DS Tooltip/HoverCard). Scrubber is instant and tethered to the tooltip.
Content
- Series labels should match product names or phone numbers users already know.
- Format tooltip values like surrounding KPI copy (%, APY, counts). For legend values, pass series.value or rely on the latest datum.
Accessibility
- Range and legend controls are buttons with pressed state on legend items.
- Do not rely on color alone to distinguish series — labels stay in the legend and tooltip.