Für Experten: Zusätzliche Merkmale von FL

Experten können die folgenden Parameter verwenden.

Maximal zulässige Verschiebung pro Iteration (FL)

In jeder Iteration verschiebt der Layoutalgorithmus die Knoten relativ geringfügig. Die Verschiebung darf nicht zu groß sein, andernfalls konvergiert der Algorithmus nicht. Andererseits darf die Verschiebung auch nicht zu klein sein, da sonst die Anzahl der erforderlichen Iterationen und die Ausführungszeit steigen.
Die maximale Verschiebung in jeder Iteration wird mit einem Parameter gesteuert.
Gehen Sie zum Festlegen dieses Parameters wie folgt vor:
Beispiel für die Festlegung der maximalen Verschiebung pro Iteration
forceDirectedLayout.setMaxAllowedMovePerIteration(3);  
Typische Werte für diese Einstellung sind 1-30, aber dies ist vom Wert des Parameters PreferredLinksLength abhängig. Wenn der Parameter PreferredLinksLength beispielsweise auf 1000 gesetzt ist, ist 100 ein angemessener Wert für den Parameter MaxAllowedMovePerIteration.

Wertigkeit der Linklänge (FL)

Der Layoutalgorithmus basiert auf der Berechnung der Anziehungs- und Abstoßungskräfte für jeden einzelnen Knoten und der iterativen Suche einer ausgeglichenen Konfiguration. Eine dieser Kräfte bezieht sich auf das Ziel, die Linklänge eng an der angegebenen bevorzugten Länge auszurichten. Die Wertigkeit dieser Kraft, die die Gesamtkraft darstellt, wird mit einem Parameter gesteuert:
Gehen Sie zum Festlegen dieses Parameters wie folgt vor:
Beispiel für die Festlegung der Kraft der Linklängenwertigkeit
forceDirectedLayout.setLinkLengthWeight(1.5);  
Der Standardwert ist 1. Eine Erhöhung dieses Parameters kann dabei helfen, die Linklängen zu erhalten, die näher bei der angegebenen Länge liegen, aber die Festlegung eines zu hohen Werts kann die Anzahl der Linkkreuzungen erhöhen.

Zusätzliche Knotenabstoßungsgewichtung (FL)

Es kann eine zusätzliche Abstoßungskraft zwischen Knoten berechnet werden, die nicht durch einen Link verbunden sind. Die Wertigkeit dieser Kraft, die die Gesamtkraft darstellt, wird mit einem Parameter gesteuert:
Gehen Sie zum Festlegen dieses Parameters wie folgt vor:
Beispiel für die Festlegung der Knotenabstoßungsgewichtung
forceDirectedLayout.setAdditionalNodeRepulsionWeight(0.4);  
Der Standardwert dieses Parameters ist 0.2f. Die Erhöhung (bzw. Verringerung) der Wertigkeit erhöht (bzw. verringert) die Priorität, die Knoten auf einem Abstand zueinander zu halten, der größer ist als er Schwellenwert für den Knotenabstand. Weitere Informationen finden Sie in der Beschreibung von setNodeDistanceThreshold. Die Erhöhung der Wertigkeit verringert auch die Fähigkeit des Algorithmus, eine schnelle Konvergenz zu erreichen.
Die folgenden Abbildungen ermöglichen Ihnen einen Vergleich desselben Graphen, bei dem einmal die zusätzliche Abstoßung inaktiviert (Zusätzliche Abstoßung inaktiviert, erzeugt mit dem kräftegesteuerten Layout (Force-directed)) und dann aktiviert (Zusätzliche Abstoßung aktiviert, erzeugt mit dem kräftegesteuerten Layout (Force-directed)) wird. Sie können feststellen, dass die “Sternkonfiguration”, in der viele Knoten mit demselben zentralen Knoten verbunden ist, besser angezeigt wird, wenn die zusätzliche Abstoßung aktiviert ist.
Eine Sternkonfiguration, in der die
zusätzliche Abstoßung inaktiviert ist
Zusätzliche Abstoßung inaktiviert, erzeugt mit dem kräftegesteuerten Layout (Force-directed)
Eine Sternkonfiguration,
in der die zusätzliche Abstoßung aktiviert ist und damit übersichtlicher angelegt ist
Zusätzliche Abstoßung aktiviert, erzeugt mit dem kräftegesteuerten Layout (Force-directed)

Schwellenwert für Knotenabstand (FL)

Die zusätzliche Abstoßungskraft zwischen zwei Knoten, die nicht durch einen Link verbunden sind, wird nur berechnet, wenn ihr Abstand zueinander kleiner ist als ein vordefinierter Abstand.
Gehen Sie zum Festlegen dieses Abstands wie folgt vor:
Beispiel für die Festlegung des Schwellenwerts für Knotenabstand
forceDirectedLayout.setNodeDistanceThreshold(25);  
Diese zusätzliche Kraft wird nur berechnet, wenn die zusätzliche Knotenabstoßungsgewichtung auf einen Wert gesetzt ist, der größer ist als der Standardwert 0.
Es wird empfohlen, dass dieser Schwellenwert auf einen Wert gesetzt wird, der kleiner ist als die bevorzugte Länge der Links.

Fast-Multilevel-Modus: Maximaler Prozentsatz der für den Optimierungsschritt abgelaufenen Zeit (FL)

Im Fast-Multilevel-Modus führt der Algorithmus einen abschließenden Optimierungsschritt aus. Sie können den maximalen Prozentsatz der bereits abgelaufenen Zeit für den abschließenden Optimierungsschritt festlegen, wenn FAST_MULTILEVEL_MODE als Layoutmodus eingestellt ist. Eine Erhöhung des Werts dieses Parameters kann zu einer Verbesserung der Layoutqualität führen, dies aber unter Umständen zu Lasten der Geschwindigkeit.
Gehen Sie zum Festlegen dieses Parameters wie folgt vor:
Beispiel für die Festlegung des maximalen Prozentsatzes der abgelaufenen Zeit für den abschließenden Optimierungsschritt
forceDirectedLayout.setMaxPercentageOfElapsedTimeForRefinement(500); 
Dieser Parameter wird nur im Fast-Multilevel-Modus verwendet.

Fast-Multilevel-Modus: Maximaler Prozentsatz der insgesamt zulässigen Zeit für den Optimierungsschritt (FL)

Im Fast-Multilevel-Modus führt der Algorithmus einen abschließenden Optimierungsschritt aus. Sie können den maximalen Prozentsatz der insgesamt zulässigen Zeit für den abschließenden Optimierungsschritt festlegen, wenn FAST_MULTILEVEL_MODE als Layoutmodus eingestellt ist. Eine Erhöhung des Werts dieses Parameters kann zu einer Verbesserung der Layoutqualität führen, dies aber unter Umständen zu Lasten der Geschwindigkeit.
Gehen Sie zum Festlegen dieses Parameters wie folgt vor:
Beispiel für die Festlegung des maximalen Prozentsatzes der insgesamt zulässigen Zeit für den abschließenden Optimierungsschritt
forceDirectedLayout.setMaxPercentageOfTotalAllowedTimeForRefinement(5); 
Dieser Parameter wird nur im Fast-Multilevel-Modus verwendet.

Fast-Multilevel-Modus: Maximale Wiederholungen für Konvergenz (FL)

Die können die maximale Anzahl an Versuchen zum Erreichen einer Konvergenz in jedem Schritt festlegen, wenn FAST_MULTILEVEL_MODE als Layoutmodus eingestellt ist. Eine Erhöhung des Werts dieses Parameters kann zu einer Verbesserung der Layoutqualität führen, dies aber unter Umständen zu Lasten der Geschwindigkeit.
Gehen Sie zum Festlegen dieses Parameters wie folgt vor:
Beispiel für die Festlegung der maximalen Anzahl an Versuchen in jedem Schritt, eine Konvergenz zu erreichen
forceDirectedLayout.setMaxRepeatForConvergence(5);
Dieser Parameter wird nur im Fast-Multilevel-Modus verwendet.