A treemap turns a tree in graph theory into a planar space-filling map: the root is the outermost rectangle, whose nodes are the rectangles at level one, and so on down the levels.

Treemaps visually display a hierarchical structure by dividing a rectangular area in proportion to the values of the tree nodes. Treemaps were invented by Ben Shneiderman in 1990.

This Demonstration uses a splice and dice algorithm with a split parameter determining when to switch reducing the axis or the axis of the remaining rectangular area. The tree depth here is four—you control how many branching levels are visible—and consists of six randomly generated values at each node.

There are four controls in this treemap Demonstration:

"tree depth": display trees with levels 1, 2, 3, or 4

"split ratio": change from 0.1 to 0.9; notice the impact on the treemap layout

color scheme: choose one of seven built-in color schemes from the pull-down menu

locator: drag the locator at the top right of the graphic to change the shape of the bounding rectangle

Use the loop animation (with slower speed for level 3 and 4 trees) to observe the impact of a change in split ratio on the treemap layout. The split ratio determines how the current rectangle container is divided for all its elements. The cut always happens on the longer dimension ( or ). The ratio determines how many elements at a node level will be included in the part split off from the current rectangle. If you have elements at one level, then the first elements will be grouped into the first split of the rectangle if , where is the ratio.