I have been looking at Treemapping as a potential data visualisation technique.

Ref: Wikipedia article on Treemapping

While popular in many visualisations, they don't seem to me to be effective at conveying information. This is because it seems to require attentive processing to understand and is difficult to make meaningful comparisons between elements. The mess seems to get in the way of a point.

I'd like to know your thoughts:

Are treemaps effective at conveying information?

  • $\begingroup$ The answer will depend on what kind of information. As @Michael Chernick notes, a treemap is not very good at displaying the structure of some kinds of trees. But the Wikipedia article emphasizes that the point of a treemap is the simultaneous display of additional (multivariate) data carried by the leaves and nodes of the tree. Thus, to indicate what you have in mind, it would be good to see this question describe what you mean by "information" or what application(s) you may be considering. $\endgroup$ – whuber Jun 22 '12 at 16:25

As someone who has run a company selling treemap visualizations primarily for the past 9 years with many competitors, I can tell you that treemaps are highly effective at conveying information. It just depends what information you are trying to convey. The key to using them effectively is map color to a metric and use a good color scheme (when using colors to represent data they are often called heat maps).

Treemaps are best for portfolio types of analysis where you are trying to see:

  • Overview + Summary: Treemaps are one of the few visualizations that can give you a high level view of your data while also showing you the line item details. Your eye visually aggregates rectangles in the same group, allowing you to see patterns quickly.

  • Similarities: Do items in one group have similar or divergent colors? This becomes particularly relevant if other groups don't share the same pattern.

  • Anomalies: Is one item in a group radically different in color or size from the other items? Do certain rectangles stand out?

  • Distributions: What are the relative sizes of the first-level groups compared to each other, of the second-level groups within each of those groups & so on? Treemaps are effectively a nested pie chart.

The value of treemaps over other visualiations include:

  • Large Data Sets: Treemaps have been built with 1 million rectangles. We have one customer going up to 250,000, though most customers stay within 100 - 10,000 rows of data.

  • Multiple Dimensions:: At a minimum, each rectangle can have a size and a color. This allows you to show both the importance (usually shown by size) and urgency (usually shown by color) of a data point.

  • Easy to Understand: While not as pervasive in our society as a bar chart or pie chart, treemaps can be quickly explained and then are easy for people to read and analyze. We sell primarily to managers and executives using treemaps to analyze their data, not data analysts or visualization experts. They actual use pre-attentive processing to understand, not attentive processing. That was a big selling point of one of our competitors early on.

That said, treemaps do have problems:

  • Size Distortion: The more pixels you use to show the hierarchy, the more the size distorts. You quickly run into an issue that you can only optimize for size comparisons at one level of the hierarchy at a time. Luckily, most people don't try to make exact size comparisons using treemaps; they look at rough size only. As a result, all the commercial treemap implementations used gutter borders to show the hierarchy clearly at the expense of size comparisons (though we all do provide traditional borders for those who want them).

  • Requires Interactivity: Treemaps are ill-suited for print. Unless you have only a few data points, the labels quickly disappear or become unreadable. Though we do have some customers doing large format printing to get the all the labels. And you can certainly annotate a copy of a treemap to point out issues during a presentation.

  • Poor At Handling Any Data: Negative and zero values prove a challenge for heat maps. There are ways around these by either ignoring the sign of a data point and only using it's magnitude (which doesn't work for zero values) or using a relative size scale that maps from the minimum to maximum value in the data set (which is harder to read).

I think one of the reasons you don't see treemaps used more is that they are difficult to get right. Not only do you have to work around the issues above, to get a treemap that works for the average user, you need to provide a built-in aggregation model, an advanced color model and better layout options than the research treemaps tend to provide.

To learn how to use color and groups effectively on a treemap, check out these articles on our blog: 5 Ways to Use Color Effectively and 7 Ways To Use Groups Effectively.

  • $\begingroup$ Excellent answer. They are certainly hard to get right and that probably contributes to the problems with perception I have observed. $\endgroup$ – Jay Jun 28 '12 at 8:13

If you have simple hierarchical/nested data, a tree is better. If you have simple fractional data (i.e. based on percentages, for example market shares of different companies), something like a pie chart is better. But if your data is both hierarchical and fractional, a treemap may be the best option.

A real-world example is Kcachegrind, which uses treemaps to visualize the runtime of functions. Each rectangle in the treemap corresponds to a sub-function, for example kcachegrind treemap
(source: sourceforge.net)

This is a treemap for the function QApplication::internalNotify. Most of the computation for this function is done in "QWidget::event" (50.51%). Now this looks somewhat messy, but there is a ton of information in this graphic.

For presentations, I'd avoid treemaps -- they are just too compact. This compactness makes them well-suited for repeated-usage cases in expert applications/literature. If you use them, take time to explain the meaning.

  • 2
    $\begingroup$ This graphic belongs in the statistical visualization hall of shame! It uses printed values to display the important information--turning half of them sideways according to no apprent rule, just to make them hard to read, and making others invisible, to make them impossible to read--and establishes no visible or consistent relationship between the graphical elements (color, length, area) and what it purports to display. A graphic will be good not by virtue of how many numbers it purports to represent, but by virtue of how it represents them and how that helps people understand them. $\endgroup$ – whuber Jun 22 '12 at 18:51
  • 1
    $\begingroup$ @whuber Well, to be fair it is necessary to note this is an UX not a plot, and it is usually supposed to show simpler layouts (after the user digs deeper in this tree). $\endgroup$ – user88 Jun 22 '12 at 20:09
  • $\begingroup$ @whuber I can not agree. Treemaps like these have helped me many times to understand program flow and discover bottlenecks. Of course, if you see these the first time they make little sense. But if I saw this particular map during analysis, I would immediately click on the "QWidget::event" area -- which takes me to a sub-treemap -- to see why its taking so much time. The sideways text is because of very long function names in this program. For an experienced user (the group targeted by this visualization), this treemap has very high information density, but can still be comprehended quickly. $\endgroup$ – mogron Jun 22 '12 at 21:12
  • 2
    $\begingroup$ I am not claiming this map fails to present information, mogron, nor do I say that it's useless. But I do assert that it's a ghastly statistical graphic and that others can do a far better job of presenting the same information. $\endgroup$ – whuber Jun 22 '12 at 22:17
  • 2
    $\begingroup$ @whuber This is exactly what I am thinking of when I am questioning the usefulness of these charts. They may accurately represent the pattern of data. But I question the use when they are so often hard to read and act on (without considerable cognitive effort). $\endgroup$ – Jay Jun 25 '12 at 8:05

Looking at the Wikipedia article I have to agree that the nested rectangles which do represent recursive partitioning do not provide a good visual for the tree structure. I think the tree itself does a better job as it points out the routes to the terminal nodes.

  • $\begingroup$ I'm not quite sure what you are referring to when you say "I think the tree itself", care to provide an example or further elaboration? $\endgroup$ – Andy W Jun 22 '12 at 15:12
  • 1
    $\begingroup$ A decision tree looks exactly like a tree with branches and nodes. You start from an initial node and branch to other nodes which in turn branch down until you reach all the terminal nodes. Binary trees are special case that have two branches at each node. $\endgroup$ – Michael Chernick Jun 22 '12 at 15:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.