This entry is part of the Chart Index, the reference library for the Chart Design Field Guide.

Circle packing represents a hierarchy as nested circles. The enclosure communicates parent-child structure and each leaf's area represents a value. It is visually approachable and compact, but less efficient than a treemap when accurate comparison matters.

What it is

Each parent is a circle that contains circles for its children. Leaf circles are sized by a quantitative measure, while colour usually identifies a top-level branch. Empty space is an unavoidable part of the packing algorithm.

When to use it

  • The hierarchy itself is important and the number of leaves is moderate.
  • The reader needs an engaging overview before exploring details interactively.
  • Approximate size comparison is sufficient.
  • Zooming into branches is part of the intended interaction.

When not to use it

  • Readers must compare values accurately. Use a bar chart or treemap.
  • The hierarchy is very deep or contains hundreds of tiny leaves.
  • Space efficiency matters; nested circles leave more unused area than rectangles.

Design principles

Reserve colour for branches

Use one colour family per top-level branch and derive child shades from the parent. Random leaf colours conceal the hierarchy.

Label only circles that can hold text

Hide labels below a radius threshold and reveal them in tooltips. Text that spills outside a circle breaks the enclosure metaphor.

Make zoom state explicit

When users can zoom, retain a visible path back to the root and preserve branch colour across levels.

Do not imply precision

Circle area is difficult to compare. Show values in tooltips or labels when exact reading matters.

Anatomy

The outer enclosure is the root, nested circles are branches, leaf area carries value, and colour identifies branch membership.

  • Treemap - a more space-efficient hierarchical area chart.
  • Sunburst - hierarchy arranged in concentric rings.
  • Tree - explicit parent-child structure without area encoding.

Reading list