上級者向け: FL の追加フィーチャー

上級ユーザーは以下のパラメーターを使用できます。

各反復の最大許容移動 (FL)

各反復で、レイアウト・アルゴリズムはノードを比較的少量だけ移動します。 この量は大きくしすぎてはなりません。大きくしすぎると、アルゴリズムが収束できなくなります。 また、小さくしすぎてもなりません。小さくしすぎると、必要になる反復数と実行時間が増大してしまいます。
各反復の最大移動量は、パラメーターによって制御されます。
このパラメーターを設定するには、以下のようにします。
各反復の最大移動量の設定例
forceDirectedLayout.setMaxAllowedMovePerIteration(3);  
この設定の通常の値は 1 から 30 ですが、これは PreferredLinksLength パラメーターの値に依存します。 例えば、PreferredLinksLength パラメーターの設定値が 1000 の場合は、 MaxAllowedMovePerIteration パラメーターに値 100 を設定しても意味があります。

リンク長ウェイト (FL)

レイアウト・アルゴリズムは、各ノードの引力と反発力の計算および平衡構成の反復検索に基づきます。 これらの力の 1 つは、指定された優先長に近いリンク長を得るという目的に関係しています。 この力のウェイトは力の合計量を表し、パラメーターによって制御されます。
このパラメーターを設定するには、以下のようにします。
リンク長ウェイトの力の設定例
forceDirectedLayout.setLinkLengthWeight(1.5);  
デフォルト値は 1 です。このパラメーターを大きくすると、 指定された長さに近いリンク長を得るのに役立ちますが、大きくしすぎるとリンク交差数が増加する可能性があります。

追加ノードの反発力ウェイト (FL)

リンクによって接続されないノード間の追加の反発力を計算できます。 この力のウェイトは力の合計量を表し、パラメーターによって制御されます。
このパラメーターを設定するには、以下のようにします。
ノードの反発力ウェイトの設定例
forceDirectedLayout.setAdditionalNodeRepulsionWeight(0.4);  
このパラメーターのデフォルト値は 0.2f です。 重さを増やす (または減らす) と、ノード距離のしきい値より大きな距離を持つノードを保持するために与えられた優先度が上がり (または下がり) ます。setNodeDistanceThreshold を参照してください。ウェイトを大きくすると、同時に、アルゴリズムが迅速に収束する能力が低下します。
以下の図により、追加の反発力を使用不可にしてレイアウトしたグラフ (Force-directed レイアウトを使用して作成された、追加の反発力が使用不可の場合のグラフ) と使用可能にしてレイアウトしたグラフ (Force-directed レイアウトを使用して作成された、追加の反発力が使用可能の場合のグラフ) を比較できます。 多数のノードが同じ中央ノードに接続される「スター」構成が、追加の反発力を使用した場合に、より整って表示されることが分かります。
追加の反発力が使用不可に設定されたスター構成
Force-directed レイアウトを使用して作成された、追加の反発力が使用不可の場合のグラフ
追加の反発力を使用可能にして、よりすっきりとレイアウトされたスター構成
Force-directed レイアウトを使用して作成された、追加の反発力が使用可能の場合のグラフ

ノード距離のしきい値 (FL)

リンクで接続されていない 2 つのノード間の追加の反発力は、その間の距離が事前定義された距離よりも小さい場合にのみ計算されます。
この距離を設定するには、以下のようにします。
ノード距離のしきい値の設定例
forceDirectedLayout.setNodeDistanceThreshold(25);  
この追加の力は、追加のノードの反発力ウェイトがデフォルト値の 0 よりも大きな値に設定されている場合にのみ計算されます。
このしきい値を、リンクの優先長よりも小さな値に設定することをお勧めします。

高速マルチレベル・モード: 調整ステップの経過時間に対する最大パーセント (FL)

高速マルチレベル・モードでは、アルゴリズムは最終的な調整ステップを実行します。 レイアウト・モードが FAST_MULTILEVEL_MODE のときに最終的な調整ステップで費やす、既に経過した時間に対する最大パーセントを設定できます。このパラメーターの値を大きくすると、速度が低下する恐れがありますが、レイアウトの品質を向上させることができます。
このパラメーターを設定するには、以下のようにします。
最終的な調整ステップで費やす、経過時間に対する最大パーセントの設定例
forceDirectedLayout.setMaxPercentageOfElapsedTimeForRefinement(500); 
このパラメーターは高速マルチレベル・モードでのみ使用されます。

高速マルチレベル・モード: 調整ステップで許可される、合計時間に対する最大パーセント (FL)

高速マルチレベル・モードでは、アルゴリズムは最終的な調整ステップを実行します。 レイアウト・モードが FAST_MULTILEVEL_MODE のときに最終的な調整ステップで費やすのに許される時間の、合計時間に対する最大パーセントを設定できます。このパラメーターの値を大きくすると、速度が低下する恐れがありますが、レイアウトの品質を向上させることができます。
このパラメーターを設定するには、以下のようにします。
最終的な調整ステップで費やす、合計時間に対する最大パーセントの設定例
forceDirectedLayout.setMaxPercentageOfTotalAllowedTimeForRefinement(5); 
このパラメーターは高速マルチレベル・モードでのみ使用されます。

高速マルチレベル・モード: 収束の最大繰り返し数 (FL)

レイアウト・モードが FAST_MULTILEVEL_MODE のときに各ステップで収束を試行する最大回数を設定できます。 このパラメーターの値を大きくすると、速度が低下する恐れがありますが、レイアウトの品質を向上させることができます。
このパラメーターを設定するには、以下のようにします。
各ステップにおける最大収束試行回数の設定例
forceDirectedLayout.setMaxRepeatForConvergence(5);
このパラメーターは高速マルチレベル・モードでのみ使用されます。