Features and limitations of the TML

Features

  • Most of the time, produces planar drawings of planar graphs, and drawings with a small number of link crossings for nonplanar graphs.
  • Produces a nice layout for most small- and medium-size graphs relatively quickly. (The maximum cyclomatic number of the graph is about 30-50, but the number of nodes and links can be a lot higher.)
  • Most of the time, produces symmetrical drawings of symmetrical graphs.
  • The computation time for one iteration depends on the cyclomatic number of the graph, which is smaller than the number of nodes or links.
  • The user can obtain several layouts of the same graph easily and quickly by simply changing a parameter (especially the starting node and the outer cycle) or by applying manual refinements to the layout. The best layout can then be selected from the resulting layouts.

Limitations

  • The algorithm tries to minimize the number of link crossings (which is generally an NP-complete problem). It is mathematically impossible to quickly solve this problem for any graph size. Therefore, the algorithm uses heuristics that cannot always obtain a layout with the theoretical minimum number of link crossings.
  • The computation time required to obtain an appropriate drawing grows relatively quickly with the cyclomatic number and the layout process may become very time-consuming for large graphs. Again, this is because the minimization of the number of link crossings is mathematically NP-complete in the general case.
  • The algorithm cannot automatically produce appropriate drawings of some types of graphs:
  • The layout algorithm often produces a drawing with no overlapping nodes. Nevertheless, overlapping nodes cannot always be avoided. When overlapping occurs, you can try to increase the size of the layout region parameter or to change the outer cycle (see the method setExteriorCycleId). You can also use manual adjustments to correct the problem.