TreeMap API

  • Details on demand
  • Flat shading
  • Mapping an attribute to height
  • Customizable borders, fonts, colors
  • Applying filters to attribute values
  • Circular layout
  • Strip layout

The TreeMap API comes with an extended set of features. The visual appearance of a treemap is highly configurable. Size, color, height, and labels can be mapped to any attribute. Many options allow you to further fine-tune the display. In terms of interaction, it provides a zooming interface as well as the possibility to drill-down. Details on demand are available in the form of pop-ups whose content can be freely customized. In addition to the classic treemap layout algorithm, Macrofocus TreeMap also features a number of alternative layouts such as a squarified variant that harmonizes aspect ratios of the rectangles, or the aesthetically pleasing circular layout. Maps can be rendered flat, or with a pseudo-3D shaded look with customizable light source.

Macrofocus TreeMap API uses the common Swing TableModel (Java) or the JSON format (JavaScript) as its data model to make integration with existing data sources easy. A demo example also shows, how to connect a treemap with a live data source. The data can be grouped and aggregated by any combination of categorical attributes. Attribute values can be filtered numerically or by category. Macrofocus TreeMap API is already useful with small datasets, but scales up to 100'000s of data objects.

  • Visual appearance is highly configurable (colors, labels, shading, etc.)
  • Built-in interaction support for zooming and drill-down
  • Details on demand through customizable pop-ups
  • Various layout options to match communication needs and aesthetic preferences
  • Integration with data sources through Swing TableModel interface
  • Grouping and aggregation by any number of categorical attributes
  • Searching and filtering of attribute values
  • Scales up to 100'000s of data objects
June 21, 2024

TreeMap API 2019.9.5 released! It is now available natively for Java/Swing, JavaFX, and JavaScript/HTML5.