Treemaps done right

Tree maps are a great ways to view breakdowns, and are used to great effect in many sweet applications such as Stocktouch (on right). However I've never seen a tree map that does labeling of groups very well, everything typically uses nasty overlays.  So I took a stab at it, here is a treemap that maintains relative sizes of sub-trees when recursively calculating margins for the labels of grouped data: