Recursos
- Considera o tamanho dos nós para que não ocorram erros de sobreposição.
- Opcionalmente, redimensiona os links para dar-lhes uma forma ortogonal (alternando segmentos de linhas horizontais e verticais).
- Oferece vários modos de layout: livre, níveis, radial e radial alternativo, balão e invertido automático.
- Em modo de layout livre, organiza os nós-filhos de cada nó, iniciando recursivamente a partir da raiz, para que os links fluam uniformemente na mesma direção.
- Em modo de layout de nível, particiona os nós em níveis e organiza os níveis de forma horizontal ou vertical.
- Em um modo de layout radial, particiona os nós em níveis e organiza os níveis em círculos ou elipses ao redor da raiz.
- Em modo de layout de balão, os nós-filhos são organizados em círculos ao redor do nó-pai, para que cada subárvore forme um balão.
- Em modo invertido, organiza os nós de forma semelhante ao modo de layout livre, mas tenta inverter os nós-filhos automaticamente para ajustar melhor o layout à proporção de aspecto.
- Fornece várias opções de alinhamento e de deslocamento.
- Permite especificar nós que devem ser vizinhos diretos.
- Fornece modos incrementais e não incrementais. O modo incremental considera a posição anterior de nós e posiciona os nós sem alterar a ordem relativa dos nós na árvore, de forma que o layout fique estável em mudanças incrementais do gráfico.
- Algoritmo eficiente, escalável. Produz rapidamente um bom layout, mesmo que o número de nós seja grande.
Limitações
- If the orthogonal setting is not specified as the link style (see Estilo de Link (TL)), some links can, in rare cases, overlap nodes depending on the size of the nodes, the alignment parameters, and the offset parameters.
- O algoritmo de layout primeiro determina uma árvore de ampliação do gráfico. If the graph is not a pure tree, some links are not included as part of the spanning tree. Estes links serão ignorados. For this reason, they can cross other links or overlap nodes in the final layout.
- Para estabilidade em modo incremental, o algoritmo tenta preservar a ordem relativa dos nós-filhos de cada nó. Ele usa uma heurística para calcular a ordem relativa das posições anteriores dos nós. The heuristic can fail if child nodes overlap their old positions or are not aligned horizontally or vertically.
- Apesar de preservar a ordem relativa dos nós-filhos, raramente o layout não é perfeitamente estável em layouts radiais incrementais. Subsequent layouts can rotate the nodes around the root, although the relative circular order of the nodes within their circular levels is still preserved.
- Apesar de preservar a ordem relativa dos nós-filhos, raramente o layout não é perfeitamente estável em layouts de balão incrementais. Subsequent layouts can rotate the child nodes around the parent, although the relative circular order of the nodes is still preserved.
- Os modos de layout invertidos executam vários layouts de tentativa com diferentes opções de alinhamento invertido, de acordo com as heurísticas. A partir destes layouts de tentativa, o algoritmo seleciona o layout que melhor se ajuda à proporção de aspecto. It might not be the optimal layout for the aspect ratio, but it is the best layout from the trials. Calcular o layout absoluto de melhor ajuste não é um cálculo viável; isto geralmente é um problema NP-completo.