Treemapping
From Wikipedia, the free encyclopedia
Treemapping is a method for displaying information about entities with a hierarchical relationship, in a "space-constrained" environment (such as a computer monitor).
Contents |
[edit] A brief history
In the early 1990s a University of Maryland, College Park professor, Ben Shneiderman, was plagued with chronic low disk space on the 80MB server he was managing. The fourteen clients who accessed this server were consuming all available hard drive space. He needed to find out how the space was being utilized; the largest files, and the users who were putting them there. Frustrated with the available tools that employ traditional tree structured node-link diagrams, Dr. Shneiderman conceived the Treemap.
Treemaps display rows of data as groups of rectangles that can be arranged, sized and colored to graphically reveal underlying data patterns. This visualization technique allows end users to easily recognize complicated data relationships that are otherwise non-obvious.
[edit] The Treemap algorithm
Two major factors drove the evolution and development of the Treemap algorithm: the aspect ratio and predictability of item placement, or order. It was noted early in the process that these properties have an inverse relationship. As the aspect ratio is optimized, the order of placement becomes less predictable. As the order becomes more stable, the aspect ratio is degraded.
To date, five primary treemap algorithms have been developed:
- BinaryTree - Partially ordered, high aspect ratios, stable
- Ordered - Partially ordered, medium aspect ratios, medium stability
- SliceAndDice - Ordered, very high aspect ratios, stable
- Squarified - Unordered, lowest aspect ratios, medium stability
- Strip - Ordered, medium aspect ratios, medium stability
[edit] How a treemap is created
This web page contains a step-by-step illustrated explanation of how data is turned into a treemap, where numbers define the size and color of boxes: What is a Treemap?
[edit] Applications
[edit] Disk Storage visualization and maintenance
A treemaps highly compressed view lends itself to viewing the storage allocation of files on a disk. Note that many of the applications that perform this only allow whole volumns to be scanned and shown. In todays large disks, this is very non-performant. Some apps referenced below in the links section are even unusable. These apps should allow the scanning to begin at any folder node on a hard drive. For example, dirgraph allows this (not that I'm saying this is the best disk mapper).
[edit] See also
- SpaceMonger for Windows
- Panopticode - An open source project that uses Treemaps to visualize software metrics
[edit] External links
- History of Treemaps This is a good link for the history of treemaps.
- The Hive Group offers commercial enterprise Treemapping software.
- Lab Escape offers commercial desktop & enterprise treemap software.
- Treemap software
- Microsoft Research Data Visualization Components include a .NET TreeMap control
- An open-source Java treemap
- JTreeMap, another open-source Java treemap (Swing & SWT)
- Treemap tool by Macrofocus A very easy to use tool with examples.
- Microsoft Treemapper with Excel Add-In
- Panopticon Explorer Free of charge for non-commercial use. Analyse your Excel data or view files and folders. Panopticon also offers toolkits for software developers and enterprise grade solutions for web deployed treemap applications.
- RoomforMilk A keyword-based news aggregator using Treemaps as primary navigation.
- Treemap.pm A treemap generator in Perl, generating image files in common formats, and (mostly for commandline debug) ASCII-art too.
- Genetic Treemap Treemaps of oligonucleotide frequency distributions.
disk usage
- OSX: Disk Inventory X is free treemapping software
- Windows: WinDirStat is a disk usage statistics viewer and cleanup tool
- Windows: DiskMapper (Commercial)
- Windows: Space (Shareware)
- Windows: SpaceMonger (Freeware/Shareware)
- Windows: SequoiaView (Freeware)
- Windows: DirGraph (Freeware + Source)
- Windows: Panopticon Explorer (Freeware for non-commercial use)
- Python: TkDu
- Java: pebbles
- Unix: Xdiskusage
- Unix: KDirStat
- Unix: FS View
- Unix: GdMap
- Unix: Baobab