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.

Zusätzliche Abstoßung inaktiviert, erzeugt mit dem kräftegesteuerten Layout (Force-directed)

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.