コンテンツへスキップ

クラスター

/Chaos /Chaos/Eros /Chaos/Erebus /Chaos/Tartarus /Chaos/Gaia /Chaos/Gaia/Mountains /Chaos/Gaia/Pontus /Chaos/Gaia/Uranus Eros/Chaos/Eros Erebus/Chaos/Erebus Tartarus/Chaos/Tartarus Mountains/Chaos/Gaia/Mountains Pontus/Chaos/Gaia/Pontus Uranus/Chaos/Gaia/Uranus Chaos/Chaos Gaia/Chaos/Gaia

· クラスターレイアウトは、デンドログラムを生成します。これは、ツリーの葉ノードを同じ深さに配置するノードリンク図です。デンドログラムは通常、整然としたツリーよりもコンパクトではありませんが、階層的クラスタリングや系統樹図など、すべての葉が同じレベルにある必要がある場合に役立ちます。

cluster()

ソース · デフォルト設定で新しいクラスターレイアウトを作成します。

cluster(root)

ソース · 指定されたroot階層をレイアウトし、rootとその子孫に以下のプロパティを割り当てます。

  • node.x - ノードのx座標
  • node.y - ノードのy座標

座標xyは、任意の座標系を表します。たとえば、xを角度、yを半径として、放射状レイアウトを生成できます。階層をクラスターレイアウトに渡す前に、root.sortを呼び出すことをお勧めします。

cluster.size(size)

ソース · sizeが指定されている場合、このクラスターレイアウトのサイズを指定された2つの数値の配列[width, height]に設定し、このクラスターレイアウトを返します。sizeが指定されていない場合は、現在のレイアウトサイズを返します。これはデフォルトで[1, 1]です。レイアウトサイズがnullの場合、ノードサイズが代わりに使用されることを示します。座標xyは、任意の座標系を表します。たとえば、放射状レイアウトを生成するには、[360, radius]のサイズは、360°の幅とradiusの深さに対応します。

cluster.nodeSize(size)

ソース · sizeが指定されている場合、このクラスターレイアウトのノードサイズを指定された2つの数値の配列[width, height]に設定し、このクラスターレイアウトを返します。sizeが指定されていない場合は、現在のノードサイズを返します。これはデフォルトでnullです。ノードサイズがnullの場合、レイアウトサイズが代わりに使用されることを示します。ノードサイズが指定されている場合、ルートノードは常に⟨0, 0⟩に配置されます。

cluster.separation(separation)

ソース · separationが指定されている場合、分離アクセサーを指定された関数に設定し、このクラスターレイアウトを返します。separationが指定されていない場合は、現在の分離アクセサーを返します。これはデフォルトで次のようになります。

js
function separation(a, b) {
  return a.parent == b.parent ? 1 : 2;
}

分離アクセサーは、隣接する葉を分離するために使用されます。分離関数には2つの葉abが渡され、必要な分離を返す必要があります。ノードは通常兄弟ですが、レイアウトがそのようなノードを隣接して配置することにした場合、ノードはより遠い関係になる可能性があります。