Brève description de l'algorithme d'agencement hiérarchique (HL)
Cet algorithme comporte quatre étapes :
- Etape 1: Nivellement
- Les noeuds sont partitionnés en groupes. Chaque groupe de noeuds forme un niveau. L'objectif est de regrouper les noeuds de sorte que les liens pointent systématiquement depuis un niveau comportant un plus petit index vers un niveau comportant un plus grand index.
- Etape 2 : Réduction des intersections
- Les noeuds sont triés au sein de chaque niveau. L'algorithme essaie de réduire autant que possible le nombre d'intersections de liens lorsque, pour chaque niveau, les noeuds sont placés dans cet ordre sur une ligne (voir Index de niveau et de position). Ce classement se traduit dans l'index de position relative de chaque noeud au sein de son niveau.
- Etape 3 : Positionnement des noeuds
- A partir des index de niveau et des index de position, les coordonnées équilibrées sont calculées pour les noeuds. Par exemple, pour un agencement dans lequel le flux de liens est du haut vers le bas, les noeuds sont placés le long de lignes horizontales de sorte que tous les noeuds appartenant au même niveau ont (approximativement) la même ordonnée (axe des y). Les noeuds d'un niveau comportant un plus petit index ont une ordonnée plus petite que les noeuds dont l'index est plus grand. Au sein d'un même niveau, les noeuds avec un index de position plus petit ont une abscisse (axe des x) plus petite que les noeuds dont l'index de position est plus grand.
- Etape 4 : Routage des liens
- Les formes des liens sont calculées de manière à ce que les liens ignorent les noeuds sur les lignes de niveau. Très souvent, il est nécessaire qu'un point de flexion soit créé chaque fois qu'un lien doit croiser une ligne de niveau. Dans un agencement du haut vers le bas, ces points de flexion ont la même ordonnée que le niveau de ligne qu'ils croisent. (Ces points de flexion obtiennent également un index de position).
La figure Index de niveau et de position illustre comment
l'algorithme d'agencement hiérarchique utilise les index de niveau et de position pour tracer le graphe.

Index de niveau et de position
Vous pouvez définir des paramètres de différentes manières pour les étapes de l'algorithme d'agencement. Par exemple, vous pouvez spécifier l'index de niveau que l'algorithme doit choisir pour un noeud à l'étape 1 ou la position de noeud relative
au sein du niveau à l'étape 2. Vous pouvez également spécifier la justification des noeuds
au sein d'un niveau et le style des formes de lien.
Exemple d'agencement hiérarchique (HL)
L'exemple de code suivant montre comment effectuer un agencement hiérarchique :
var layout = new ibm_ilog.graphlayout.hierarchical.HierarchicalLayout(); graph.setNodeLayout(layout); graph.performGraphLayout();