Features and limitations of the TL

Features

  • Takes into account the size of the nodes so that no overlapping occurs.
  • Optionally reshapes the links to give them an orthogonal form (alternating horizontal and vertical line segments).
  • Offers various layout modes: free, levels, radial and alternating radial, balloon, and automatic tip-over.
    • In free layout mode, arranges the child nodes of each node, starting recursively from the root, so that the links flow uniformly in the same direction.
    • In level layout mode, partitions the nodes into levels, and arranges the levels horizontally or vertically.
    • In a radial layout mode, partitions the nodes into levels, and arranges the levels in circles or ellipses around the root.
    • In balloon layout mode, child nodes are arranged in circles around the parent node, so that each subtree forms a balloon.
    • In tip-over mode, arranges the nodes in a similar way to free layout mode, but tries to tip child nodes over automatically to fit the layout better to the aspect ratio.
  • Provides several alignment and offset options.
  • Allows you to specify nodes that must be direct neighbors.
  • Provides incremental and nonincremental modes. Incremental mode takes the previous position of nodes into account and positions the nodes without changing the relative order of the nodes in the tree so that the layout is stable on incremental changes of the graph.
  • Efficient, scalable algorithm. Produces a nice layout quickly even if the number of nodes is huge.

Limitations

  • If the orthogonal setting is not specified as the link style (see Link style (TL)), some links can, in rare cases, overlap nodes depending on the size of the nodes, the alignment parameters, and the offset parameters.
  • The layout algorithm first determines a spanning tree of the graph. If the graph is not a pure tree, some links are not included as part of the spanning tree. These links are ignored. For this reason, they can cross other links or overlap nodes in the final layout.
  • For stability in incremental mode, the algorithm tries to preserve the relative order of the child nodes of each node. It uses a heuristic to calculate the relative order from the previous positions of the nodes. The heuristic can fail if child nodes overlap their old positions or are not aligned horizontally or vertically.
  • Despite preserving the relative order of the child nodes, in rare cases the layout is not perfectly stable in incremental radial layouts. Subsequent layouts can rotate the nodes around the root, although the relative circular order of the nodes within their circular levels is still preserved.
  • Despite preserving the relative order of the child nodes, in rare cases the layout is not perfectly stable in incremental balloon layouts. Subsequent layouts can rotate the child nodes around the parent, although the relative circular order of the nodes is still preserved.
  • Tip-over layout modes perform several trial layouts with different tip-over alignment options according to various heuristics. From these trial layouts, the algorithm picks the layout that best fits the aspect ratio. It might not be the optimal layout for the aspect ratio, but it is the best layout from the trials. Calculating the absolute best-fitting layout is not a feasible computation; it is generally an NP-complete problem.