Skip to content

Icicle chart

A breakdown in stacked rows.

Definition · Updated Nov 2, 2026

An icicle chart starts with the total as a full-width bar and splits it row by row into parts and sub-parts. Widths stay proportional at every level. Use it for spend by team and use case, or any two- or three-level breakdown with long names.

Pay once. Every update included.

Live preview

Spend breakdownInference spend of $48.2K across 4 teams: Support $18.4K, Search $12.1K, Agents $10.6K, Labs $7.1K; the largest project is Chat bot at $11.2K.All teamsSupport$18.4KSearch$12.1KAgents$10.6KSUPPORTSEARCHAGENTSLABS
Spend breakdown
TeamProjectSpend
SupportChat bot$11.2K
SupportTriage$7.2K
SearchRerank$7.5K
SearchEmbed$4.6K
AgentsOps$6.4K
AgentsSales$4.2K
LabsEvals$7.1K

Sample data: inference spend by team and use case, support $18.4K (chat bot $11.2K, triage $7.2K)

Size
Legend
Data shape
A total, parts and sub-parts
Good for
Spend by team and use case, nested breakdowns
Avoid when
There is one level only
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

068 / Icicle

chart/068-icicle-inference
plot · icicle
Layer
team · search
Type
Rectangle
Size
189 × 52
Fill
data/cat-3
Radius
4
Group
Marks · 11

Layers

068 / Icicle

chart/068-icicle-inference
plot · icicle
Layer
team · search
Type
Rectangle
Size
69 × 52
Fill
data/cat-3
Radius
4
Group
Marks · 11

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels919

Marks1111

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

A breakdown with room for names.

Three signs it fits, and three signs another type fits better.

Are there several levels?

One level.

Yes: Keep the icicle

Do the names need room?

A round shape is fine.

Yes: Keep the icicle

Are levels nested?

Steps in time, not levels.

Yes: Keep the icicle

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/068-icicle-inference

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendtrue · falsetrue
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/icicle
icicle.tsx
import { Icicle } from "@/components/chartory/icicle"import { inferenceSpend } from "./inference-spend"export function InferenceSpend() {  return (    <Icicle      data={inferenceSpend}      size="m"      legend={true}    />  )}

Hearth widget

Icicle as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Icicle questions.

What people ask before they put an icicle in a dashboard.

Something else?

hello@usechartory.com
  • Top row, all teams. Next row, each team (Support $18.4K). Under each team, its use cases (chat bot, triage), each as wide as its share.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Part of a whole

16 types in Chartory answer this question.