以下のグローバル・プロパティーは、トップレベルのグラフまたはサブグラフの nodeLayout および linkLayout オブジェクトで有効です。
プロパティー | 説明 |
---|---|
algorithm | 実行するレイアウトのタイプ。有効な値は、circular、forcedirected、grid、hierarchical、longlink、random、shortlink、basiclinkstyle、および tree です。 |
<クライアント・サイド・グローバル・プロパティー名> | 対応するクライアント・サイド・レイアウト・クラス内のプロパティー名。数値、ブール値、ポイント、および長方形のすべてのタイプのグローバル・プロパティーを指定できます。 |
以下の例では、forcedirected レイアウトで 2 つのグローバル・プロパティーの値を設定します。
"nodeLayout": { "algorithm":"forcedirected", "preferredLinkLength": 100, "respectNodeSizes": true },
サーバーに送信されたグラフでは、nodeLayout および linkLayout オブジェクトは、クライアントがレイアウトを実行するあらゆるサブグラフに存在することができます。これにより、異なるサブグラフに対してレイアウト・アルゴリズムを混用することができます。また、クライアント・サイドのグラフ・レイアウトのように、異なるパラメーターを持つ同じアルゴリズムを適用することができます。所定のグラフまたはサブグラフに nodeLayout または linkLayout オブジェクトがないことは、そのグラフまたはサブグラフに対してノード・レイアウトまたはリンク・レイアウトを実行する必要がないことを示しています。
階層型レイアウト制約
クライアント・サイドの HierarchicalLayout は、さまざまなタイプの制約を使用する拡張カスタマイズ API を提供します。
JSON では、constraints プロパティーが配列内の制約を記述します。その要素は、以下のプロパティーが設定された JSON オブジェクトです。
プロパティー | 説明 |
---|---|
name | 制約のタイプ。有効な値は、LevelRangeConstraint、GroupSpreadConstraint、RelativeLevelConstraint、ExtremityConstraint、RelativePositionConstraint、SameLevelConstraint、SideBySideConstraint、および SwimLaneConstraint です。 |
<クライアント・サイド制約プロパティー名> | 制約プロパティーの値。 |
次の例は、LevelRangeConstraint タイプの制約を示しています。
"nodeLayout":{ "algorithm":"hierarchical", "constraints":[ { "name":"LevelRangeConstraint", "minLevel":0, "maxLevel":1, "nodes":[ { "id":"1" }, { "id":"2" } ] } ] ...
メモ
クライアント・サイド・レイアウトと同様、サーバー・サイドレイアウトでは、スイムレーン階層型レイアウト制約 (HierarchicalSwimLaneConstraint) をタイプ SwimLane のコンテナーから自動的に構築します。
環状レイアウト・クラスター化パラメーター
クライアント・サイドの CircularLayout は、クラスターを指定するための API を提供します。
JSON では、clusterIds プロパティーが配列内のクラスターを記述します。その要素は、以下のプロパティーが設定された JSON オブジェクトです。
プロパティー | 説明 |
---|---|
name または number | クラスターの名前または番号。タイプ String の name プロパティーが、クラス CircularClusterName によって識別されるクライアント・サイド・クラスターに使用されます。タイプ integer の number プロパティーが、クラス CircularClusterNumber によって識別されるクライアント・サイド・クラスターに使用されます。 |
nodes | 所定のクラスターに属するノードを記述する配列。 各ノードについて、属性 id、index、および starCenter がサポートされています。 |
以下の例では、タイプ CircularClusterName、およびタイプ CircularClusterNumber のクラスターを示しています。
"nodeLayout":{ "algorithm":"circular", "clusterIds":[ { "name":"first cluster", "nodes":[ { "id":"174", "index":33, "starCenter":true }, { "id":"190" } ] }, { "number":2, "nodes":[ { "id":"179" }, { "id":"187" } ] } ...