グラフ・レイアウトの適用

IBM® ILOG® Dojo Diagrammer には、グラフの外観を変換できる組み込みのグラフ・レイアウト・アルゴリズムが、重要な機能として含まれています。Graph コンポーネントには、グラフ・コンテンツに適用可能なグラフ・レイアウト・アルゴリズムを構成し、実行するメソッドがあります。
setNodeLayout 関数を使用して、グラフ・コンテンツに対して実行されるグラフ・レイアウト・アルゴリズムを指定します。 アルゴリズムは、ibm_ilog.graphlayout.GraphLayout クラスのサブクラスの 1 つによって表されます。 performGraphLayout 関数を使用して、グラフに対して選択されたグラフ・レイアウトを実行します。
力指向レイアウトをグラフに適用するには、次のようにします。
  • 以下のコードを使用します。
    dojo.require("ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout");
    ...
             var layout = new ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout();
             graph.setNodeLayout(layout);
             graph.performGraphLayout();
以下に示すのは、力指向レイアウト実行後の結果のグラフです。
それぞれにラベルが設定された「ノード 1」、「ノード2」、「ノード 3」、「ノード 4」の 4 つの長方形ノードで構成されるグラフ。「ノード 1」はグラフの左側、「ノード 2」は上部、「ノード 3」は下部、「ノード 4」は右側にあります。
1 つのリンクが「ノード 1」の上部境界を「ノード 2」の左下の境界に接続しており、別のリンクが「ノード 1」の下部境界と「ノード 3」の左上の境界に接続しています。さらに、「ノード 2」の右下境界を「ノード 4」の上部境界に接続するリンク、「ノード 3」の右上境界を「ノード 4」の下部境界に接続するリンクがあります。
Graph コンポーネントは、その他のグラフ・レイアウト関連のメソッドを提供しています。
  • setLinkLayout(layout) は、グラフのリンクをレイアウトするグラフ・レイアウト・アルゴリズムを指定します。
  • setAutomaticNodeLayout(true/false) および setAutomaticLinkLayout(true/false) は、ノード移動時など、グラフが変更される時に常にグラフ・レイアウトを自動的に実行するかどうかを指定します。
  • setNodeLayoutActive(true/false) および setLinkLayoutActive(true/false) は、グラフ・レイアウト・アルゴリズムのいずれかを選択的にアクティブ、または非アクティブにします。
使用可能なグラフ・レイアウト・アルゴリズムについて詳しくは、グラフ・レイアウト概説を参照してください。