TtrajectoryCHARTS
CHART LIBRARY

Product charts, dense charts, and public visualization APIs.

The trajectory charting system rendered live: constructed dashboard charts, expanded visualization families, interaction states, legends, tooltips, renderer metadata, and GPU-capable fallbacks.

@atropos/charts · @atropos/primitives · @atropos/theme

Palette

Public surface

Charts, primitives, algorithms, renderers, interaction state, core scales, and themes are documented through public package exports.

Charts

A filled-area line chart plotting a single trend over labelled time buckets.

area: 5area: 9area: 14area: 18area: 26area: 33area: 39area: 48area: 57area: 63area: 72area: 80
Signups · all visible
PropTypeDefaultDescription
data*number[] | { x: number | Date | string; y: number | null | undefined; label?: string; }[]-
labelsstring[] | undefined-
maxnumber | undefined-
colorstring | undefined-
xDomainChartNumericDomain | ChartTimeDomain | undefined-
yDomainChartNumericDomain | undefined-
xAxisChartAxisOptions<number | Date> | undefined-
yAxisChartAxisOptions<number> | undefined-
showGridboolean | undefined-
formatXTick((value: number | Date, index: number) => string) | undefined-
formatYTick((value: number, index: number) => string) | undefined-

A vertical bar chart for comparing labelled categorical values.

us-east: 82us-eastus-west: 64us-westeu-west: 71eu-westap-se: 38ap-sesa-east: 22sa-east
us-east · all visible
PropTypeDefaultDescription
data*ChartCategoricalDatum[]-
maxnumber | undefined-
colorstring | undefined-
yDomainChartNumericDomain | undefined-
xAxisChartAxisOptions<string> | undefined-
yAxisChartAxisOptions<number> | undefined-
showGridboolean | undefined-
formatXTick((value: string, index: number) => string) | undefined-
formatYTick((value: number, index: number) => string) | undefined-

Controlled active point, tooltip, crosshair, grid ticks, and legend toggles.

p50: 67p50: 69p50: 85p50: 75p50: 61p50: 71p50: 68p50: 60p95: 140p95: 128p95: 182p95: 156p95: 174p95: 201p95: 160p95: 142
p50 · all visible
PropTypeDefaultDescription
series*ChartSeries[]-
maxnumber | undefined-
xDomainChartNumericDomain | ChartTimeDomain | undefined-
yDomainChartNumericDomain | undefined-
xAxisChartAxisOptions<number | Date> | undefined-
yAxisChartAxisOptions<number> | undefined-
showGridboolean | undefined-
formatXTick((value: number | Date, index: number) => string) | undefined-
formatYTick((value: number, index: number) => string) | undefined-

Provider-level palette slot overrides shared by chart marks, tooltip, focus, and grid.

Themed latency trendProvider-level chart palette and slots
p50: 67p50: 69p50: 85p50: 75p50: 61p50: 71p50: 68p50: 60p95: 140p95: 128p95: 182p95: 156p95: 174p95: 201p95: 160p95: 142
p50 · all visible
PropTypeDefaultDescription
themePartialChartTheme | undefined-
children*React.ReactNode-

Reference line, band, marker primitives layered over chart using public exports.

Latency with SLO referenceReference overlay marks the 160ms SLO band
p95: 140p95: 128p95: 182p95: 156p95: 174p95: 201p95: 160p95: 142
p95 latency · all visible

A WebGL-backed line chart using renderer="gpu" for dense series.

p95 dense trace · all visible

A ring chart for showing part-to-whole breakdowns, with a center label total.

2.4MREQUESTS
  • API / 42%
  • Web / 28%
  • Mobile / 18%
  • Other / 12%
API · all visible
PropTypeDefaultDescription
data*ChartDonutDatum[]-
centerLabelstring | undefined-
centerSubstring | undefined-

A spider/radar chart for comparing multiple series across shared axes, with an optional dashed reference series.

CPUMemNetDiskAPICache
Target · all visible
PropTypeDefaultDescription
axes*string[]-
series*ChartRadarSeries[]-
ringsnumber | undefined-

An x/y scatter plot for revealing correlations across two metrics, with per-point color labels.

auth: 60, 68search: 88, 52webhooks: 98, 61ledger-api: 120, 38cache: 132, 49edge-gateway: 156, 44analytics: 174, 33billing-worker: 210, 28throughput
ledger-api · all visible
PropTypeDefaultDescription
points*ChartScatterPoint[]-
xMaxnumber | undefined-
yMaxnumber | undefined-
xDomainChartNumericDomain | undefined-
yDomainChartNumericDomain | undefined-
xAxisChartAxisOptions<number> | undefined-
yAxisChartAxisOptions<number> | undefined-
showGridboolean | undefined-
formatXTick((value: number, index: number) => string) | undefined-
formatYTick((value: number, index: number) => string) | undefined-
xAxisLabelstring | undefined-
yAxisLabelstring | undefined-

Uncontrolled hidden-series state with tooltip, crosshair, safe empty rendering.

auth: 60, 68webhooks: 98, 61cache: 132, 49edge-gateway: 156, 44analytics: 174, 33throughputlatency
ledger-api · 3 hidden

A stacked bar chart showing how labelled segments compose each bar across categories.

w1 / success: 8w1 / rollback: 1w1w1: 9w2 / success: 11w2 / rollback: 2w2 / failed: 1w2w2: 14w3 / success: 9w3 / rollback: 1w3w3: 10w4 / success: 13w4 / failed: 1w4w4: 14w5 / success: 10w5 / rollback: 2w5w5: 12w6 / success: 14w6 / rollback: 1w6 / failed: 1w6w6: 16w7 / success: 12w7 / rollback: 1w7w7: 13w8 / success: 15w8 / rollback: 2w8 / failed: 1w8w8: 18
success · all visible
PropTypeDefaultDescription
labels*string[]-
series*{ name: string; color: string; pattern?: ChartPatternInput; }[]-
values*number[][]-
maxnumber | undefined-

A horizontal bar chart for ranking labelled items, with an optional value suffix.

/v2/ledger/v2/ledger: 940/min940/min/v2/billing/v2/billing: 720/min720/min/v2/auth/v2/auth: 610/min610/min/v2/edge/v2/edge: 430/min430/min/v2/search/v2/search: 280/min280/min
/v2/ledger · all visible
PropTypeDefaultDescription
data*ChartCategoricalDatum[]-
maxnumber | undefined-
colorstring | undefined-
valueSuffixstring | undefined-

A GitHub-style calendar heatmap that shades year daily values into week columns.

JulAugSepOctNovDecJanFebMarAprMayJun
1,284 deploys in the last year
Low · all visible
PropTypeDefaultDescription
data*ChartHeatmapDay[]-
thresholdsnumber[] | undefined-
totalstring | undefined-
monthsstring[] | undefined-

A WebGL-backed calendar heatmap using renderer="gpu" for dense cell grids.

JulAugSepOctNovDecJanFebMarAprMayJun
1,284 deploys in the last year
Low · all visible

A circular progress ring for highlighting a single KPI against an implied 100% scale.

99.95%SLA30-day uptime
SLA · all visible
PropTypeDefaultDescription
value*number-
label*string-
substring | undefined-
displaystring | undefined-
colorstring | undefined-

A live metric card pairing a large numeric value with an inline sparkline that can be paused.

Requests / s
1,234
-0.5%
Requests / s · all visible
PropTypeDefaultDescription
label*string-
value*number-
unitstring | undefined-
colorstring | undefined-
goodDirection"up" | "down" | undefined-
format((value: number) => string) | undefined-
sample((previous: number) => number) | undefined-
pointsnumber | undefined-
intervalMsnumber | undefined-
pausedboolean | undefined-

Expanded charts

Bins raw numeric observations into deterministic SVG bars with accelerated renderer metadata.

12 histogram bins
3-4.25: 34.25-5.5: 05.5-6.75: 16.75-8: 08-9.25: 29.25-10.5: 010.5-11.75: 011.75-13: 113-14.25: 214.25-15.5: 015.5-16.75: 016.75-18: 1
Low range · all legend items visible
PropTypeDefaultDescription
valuesreadonly number[] | undefined-
binsreadonly HistogramBin[] | undefined-
binCountnumber | undefined-

Compares multiple named series inside each categorical group.

3 groups
New · all legend items visible
PropTypeDefaultDescription
data*readonly GroupedBarGroup[]-

Stacks grouped categorical values along a horizontal scale for dense labels.

3 stacked groups
New · all legend items visible
PropTypeDefaultDescription
data*readonly GroupedBarGroup[]-

Layers multiple series into cumulative area bands.

2 stacked series
new · all legend items visible
PropTypeDefaultDescription
series*readonly ChartSeriesDatum[]-
labelsreadonly string[] | undefined-

Fills the difference between two comparison lines when values cross.

48 threshold points
Above · all legend items visible
PropTypeDefaultDescription
data*readonly ThresholdDatum[]-
thresholdnumber | undefined-
aboveColorstring | undefined-
belowColorstring | undefined-
comparisonColorstring | undefined-

Shows cumulative increases, decreases, and totals.

4 waterfall steps
Start · all legend items visible
PropTypeDefaultDescription
data*readonly WaterfallDatum[]-

Summarizes distributions with quartiles, whiskers, and outliers.

1 distributions
API · all legend items visible
PropTypeDefaultDescription
data*readonly BoxPlotDatum[]-

Mirrors distribution density for side-by-side cohorts.

2 violin distributions
api · all legend items visible
PropTypeDefaultDescription
series*readonly DistributionSeries[]-

Renders smoothed distribution silhouettes over a shared numeric scale.

2 density series
api · all legend items visible
PropTypeDefaultDescription
series*readonly DistributionSeries[]-

Stacks compact distribution ridges for comparing cohorts.

2 ridges
api · all legend items visible
PropTypeDefaultDescription
series*readonly DistributionSeries[]-

Uses deterministic jitter for dense point distributions.

3 beeswarm points
Acquisition · all legend items visible
PropTypeDefaultDescription
points*readonly PointDistributionDatum[]-

Shows individual observations on a compact categorical strip.

3 strip points
Acquisition · all legend items visible
PropTypeDefaultDescription
points*readonly PointDistributionDatum[]-

Combines value stems and endpoints for ranked comparison.

3 lollipop marks
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-

Keeps ranked comparisons light with one dot per category.

3 dots
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-

Connects start and end values across a two-point comparison.

2 slopes
StartEnd
Activation · all legend items visible
PropTypeDefaultDescription
data*readonly SlopegraphDatum[]-
startLabelstring | undefined-
endLabelstring | undefined-

Tracks rank movement across ordered periods.

2 ranked series
JanFebMar
API · all legend items visible
PropTypeDefaultDescription
data*readonly BumpDatum[]-
labelsreadonly string[] | undefined-

Renders point estimates with low and high uncertainty intervals.

2 error intervals
ErrorBarChart 0 · all legend items visible
PropTypeDefaultDescription
data*readonly ErrorBarDatum[]-

Displays a central series with bounded confidence intervals.

4 confidence points
ConfidenceBandChart 0 · all legend items visible
PropTypeDefaultDescription
data*readonly BandDatum[]-

Layers forecast uncertainty bands without per-point DOM pressure.

2 forecast bands
p80 · all legend items visible
PropTypeDefaultDescription
bands*readonly ForecastFanBand[]-

Plots OHLC candles for financial time-series movement.

3 candles
Up · all legend items visible
PropTypeDefaultDescription
data*readonly OhlcDatum[]-

Uses tick marks for open, high, low, and close values.

3 OHLC rows
Up · all legend items visible
PropTypeDefaultDescription
data*readonly OhlcDatum[]-

Adds volume bars below the candle track.

3 candles with volume
Up · all legend items visible
PropTypeDefaultDescription
data*readonly OhlcDatum[]-

Shows bid and ask depth curves across price levels.

3 depth levels
Bid · all legend items visible
PropTypeDefaultDescription
data*readonly DepthDatum[]-

Places intervals and milestones on a keyboard-navigable time axis.

3 timeline items
Design · all legend items visible
PropTypeDefaultDescription
items*readonly TimelineItem[]-

Focuses on discrete events and milestones.

3 events
Design · all legend items visible
PropTypeDefaultDescription
items*readonly TimelineItem[]-

Separates intervals by lane without row DOM blowup.

3 swimlane items
Design · all legend items visible
PropTypeDefaultDescription
items*readonly TimelineItem[]-

Schedules task rows with milestone and dependency connectors.

5 tasks and 4 dependencies
BriefBrief: 2026-01-01 to 2026-01-05DesignDesign: 2026-01-06 to 2026-01-18BuildBuild: 2026-01-16 to 2026-02-08QAQA: 2026-02-03 to 2026-02-13LaunchLaunch: 2026-02-16
Brief · all legend items visible
PropTypeDefaultDescription
items*readonly TimelineItem[]-
dependenciesreadonly GanttDependency[] | undefined-

Part-to-whole slices with additive compatibility beside DonutChart.

3 slices
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-
innerRadiusnumber | undefined-

Concentric radial bars for compact KPI comparison.

3 radial bars
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-

Single-value gauge with optional semantic bands.

Gauge value 68
Acquisition · all legend items visible
PropTypeDefaultDescription
value*number-
minnumber | undefined-
maxnumber | undefined-
bandsreadonly ChartValueDatum[] | undefined-

Encodes values as radial area wedges.

3 polar areas
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-

Uses polar wedges for periodic categorical comparison.

3 rose wedges
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-

Shows narrowing stage conversion through polygon steps.

3 funnel steps
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-

Compares a metric against target and range bands.

Bullet value 68
Acquisition · all legend items visible
PropTypeDefaultDescription
value*number-
targetnumber | undefined-
rangesreadonly ChartValueDatum[] | undefined-

Breaks part-to-whole values into stable square cells.

100 total units
Acquisition · all legend items visible
PropTypeDefaultDescription
data*readonly ChartValueDatum[]-
totalnumber | undefined-
columnsnumber | undefined-

Combines variable-width groups and stacked proportions.

3 variable-width groups
New · all legend items visible
PropTypeDefaultDescription
data*readonly GroupedBarGroup[]-

Lays hierarchy totals into proportional rectangles.

5 hierarchy nodes
PlatformChartsCatalog
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Projects hierarchy totals into nested radial arcs.

5 hierarchy nodes
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Shows hierarchy depth as stacked rectangular rows.

5 hierarchy nodes
portfolioPlatformProductChartsCatalog
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Packs hierarchy leaves into scaled bubbles.

5 packed nodes
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Alternative bubble-pack hierarchy view.

5 bubbles
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Renders deterministic tree nodes and connectors.

5 tree nodes
PlatformChartsCatalogProductportfolio
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Displays weighted directed flow links.

3 nodes and 2 links
APIWebWorker
API · all legend items visible
PropTypeDefaultDescription
nodes*readonly NetworkNode[]-
links*readonly NetworkLink[]-

Bends relationships through a radial chord layout.

3 nodes and 2 links
APIWebWorker
API · all legend items visible
PropTypeDefaultDescription
nodes*readonly NetworkNode[]-
links*readonly NetworkLink[]-

Uses deterministic radial positions until worker force layout is enabled.

3 nodes and 2 links
web -> apiapi -> workerAPIAPIWebWebWorkerWorker
API · all legend items visible
PropTypeDefaultDescription
nodes*readonly NetworkNode[]-
links*readonly NetworkLink[]-

General-purpose node link graph with GPU-ready mark metadata.

3 nodes and 2 links
web -> apiapi -> workerAPIAPIWebWebWorkerWorker
API · all legend items visible
PropTypeDefaultDescription
nodes*readonly NetworkNode[]-
links*readonly NetworkLink[]-

Layers dependencies for DAG-style product flows.

3 nodes and 2 dependencies
web -> apiapi -> workerAPIAPI: layer 1WebWeb: layer 0WorkerWorker: layer 2
API · all legend items visible
PropTypeDefaultDescription
nodes*readonly NetworkNode[]-
links*readonly NetworkLink[]-

Represents graph links as matrix heat cells.

3 matrix nodes
API · all legend items visible
PropTypeDefaultDescription
nodes*readonly NetworkNode[]-
links*readonly NetworkLink[]-

Draws hierarchical stack frames as compact interval rows.

5 stack frames
portfolioPlatformProductChartsCatalog
Platform · all legend items visible
PropTypeDefaultDescription
root*HierarchyDatum-

Projects feature polygons and points into SVG fallback map marks.

3 features and 4 points
ScotlandScotland: 68England/WalesEngland/Wales: 84N. IrelandN. Ireland: 46LondonLondon: 10EdinburghEdinburgh: 7CardiffCardiff: 5BelfastBelfast: 4
Features · all legend items visible
PropTypeDefaultDescription
featuresreadonly GeoFeature[] | undefined-
pointsreadonly GeoPoint[] | undefined-

Accepts a custom projection callback for domain-specific maps.

3 features and 4 points
ScotlandScotland: 68England/WalesEngland/Wales: 84N. IrelandN. Ireland: 46LondonLondon: 10EdinburghEdinburgh: 7CardiffCardiff: 5BelfastBelfast: 4
Features · all legend items visible
PropTypeDefaultDescription
project((longitude: number, latitude: number) => readonly [number, number]) | undefined-

Colors geographic polygons by feature values.

3 choropleth features
ScotlandScotland: 68England/WalesEngland/Wales: 84N. IrelandN. Ireland: 46Value4684
Features · all legend items visible

Renders arbitrary polygon features with hover-ready geometry.

3 polygons
ScotlandScotland: 68England/WalesEngland/Wales: 84N. IrelandN. Ireland: 46
Features · all legend items visible

Scales projected map points by value.

4 point bubbles
ScotlandScotland: 68England/WalesEngland/Wales: 84N. IrelandN. Ireland: 46LondonLondon: 10EdinburghEdinburgh: 7CardiffCardiff: 5BelfastBelfast: 4410
Features · all legend items visible

Aggregates projected points into deterministic hex bins.

4 projected points
Hex 1: 1 points, 10 total valueHex 2: 1 points, 7 total valueHex 3: 1 points, 5 total valueHex 4: 1 points, 4 total valueCount02
Features · all legend items visible
PropTypeDefaultDescription
points*readonly GeoPoint[]-
featuresreadonly GeoFeature[] | undefined-
radiusnumber | undefined-

Displays scalar fields as dense rectangular heat cells.

24 raster cells
Low · all legend items visible
PropTypeDefaultDescription
cells*readonly RasterHeatmapCell[]-
columnsnumber | undefined-
rowsnumber | undefined-

Extracts threshold outlines from scalar field fixtures.

4 contour thresholds
Contour 6.5Contour 11Contour 15.5Level6.515.5
Low · all legend items visible
PropTypeDefaultDescription
cells*readonly RasterHeatmapCell[]-
thresholdsreadonly number[] | undefined-

Places weighted words in deterministic positions.

3 words
gpufallbacksvg
Gpu · all legend items visible
PropTypeDefaultDescription
words*readonly WordCloudDatum[]-

Plots custom glyphs over numeric positions.

2 glyphs
1 · all legend items visible
PropTypeDefaultDescription
points*readonly GlyphPlotDatum[]-

Splits one line into colored state segments.

4 segmented points
SplitLineChart 0 · all legend items visible
PropTypeDefaultDescription
data*readonly SplitLineSegment[]-

Compares curve rendering styles on one shared fixture.

Curve interpolation comparison
CurveGalleryChart 0 · all legend items visible
PropTypeDefaultDescription
datareadonly ChartXYDatum[] | undefined-

Composes bars, lines, areas, scatter, and threshold overlays.

2 composed layers
Jan: 14Feb: 21Mar: 18Apr: 27
ComposedChart Layer 0 · all legend items visible
PropTypeDefaultDescription
layers*readonly ComposedChartLayer[]-

Shows Glyph, Text, Pattern, Gradient, Polygon, VoronoiOverlay, and Drag in one SVG surface.

SVG primitives
Surfaces · all visible

Builds a small custom chart directly from exported SVG primitives.

18312442
Trend · all visible