Part of a whole

Icicle chart

Shows hierarchy levels as rectangular bands with child widths partitioning their parents.

  • Chart
  • Hierarchy
  • Composition

What it answers

How do hierarchical parts relate across levels?

Shape
Stacked hierarchical rectangles
What it shows
Branch structure and proportional subdivisions.

Example

The question

How does revenue break down from category to product line?

Revenue by category and product line, EUR million (icicle chart)

Revenue by category and product line, EUR million (icicle chart)Rows from top: all revenue, categories, product lines; width shows revenue. Computing 33 (laptops 18, monitors 9, tablets 6); mobile 21 (phones 14, cases 4, chargers 3); audio 15 (headphones 8, speakers 7); accessories 5 (cables 3, bags 2). EUR million.All revenue 74Computing 33Laptops18Monitors9Mobile 21Phones14Audio 15Headphone8Speakers7
Revenue by category and product line, EUR million (icicle chart)Levels left to right: all revenue, categories, product lines. Computing 33 (laptops 18, monitors 9, tablets 6); mobile 21 (phones 14, cases 4, chargers 3); audio 15 (headphones 8, speakers 7); accessories 5 (cables 3, bags 2). EUR million.All 74Computing 33Laptops 18Monitors 9Tablets 6Mobile 21Phones 14Cases 4Audio 15Headphones 8Speakers 7Accessories 5
Rows from top: all revenue, categories, product lines; width shows revenue. Computing 33 (laptops 18, monitors 9, tablets 6); mobile 21 (phones 14, cases 4, chargers 3); audio 15 (headphones 8, speakers 7); accessories 5 (cables 3, bags 2). EUR million.

Illustrative data. It belongs to no company.

When to use it

Use it when

Hierarchy with labels that benefit from rectangular layout.

Avoid it when

Very deep trees in limited height or negative area values.

How to read it

Read the root band, then descend into child rectangles.

The data you need

Layout
Parent-child table
Fields
NodeID: text; ParentID: text/blank; Label: text; Value: number when size is encoded
One row is
One node in a parent-child hierarchy. What is the grain?
Rules
Node IDs must be unique. Parents must exist. Reject cycles. Define leaf-only versus inclusive parent values.
Optional
Alternative: Level1,Level2...,Value. Tree diagrams can omit Value.
Preparation
Validate unique node IDs, parent links, roots and absence of cycles. For size-encoded hierarchies, state whether totals are leaf-only or inclusive.
Units
Tree levels and branch position are structural. Size-encoded components use a named value unit; parent shares divide by the chosen parent total.
Example of the input layout: Parent-child tableA parent-child table: each row names its parent, which together form the tree.NodeParentTopATopBTopA1AA2ATopABA1A2
A parent-child table: each row names its parent, which together form the tree.

Worked example

Root 100 divides into A60 and B40. The next level splits A into 20 and 40 while retaining their widths within A.

NodeIDParentIDLabelValue
rootAll100
arootA60
brootB40