2016-11-10 8 views
0

Cytoscapeのサイトの上のbreadthfirstの例を変更しています(上部にある猫を持つもの)。新しい「捕食者」ノードを作成してそこに猫と犬のノードを入れ、猫から鳥へと向かうエッジを今や捕食者から鳥に変えると、レイアウトは完全に台無しになります。複合ノードを使ってbreadthfirstをCytoscapeにレイアウトする方法は?

コンパウンドノードをbreadthfirstで使用するにはどうすればよいですか、または別のレイアウトを使用する必要がありますか?私は何も想像したくありません。化合物ノードは、通常のノードが従うのと同じルールに従うだけです。

答えて

0

単純なことがほしいと思っていますが、複合グラフは通常のグラフよりも複雑です。

コンパウンドノードは独立した次元を持っていない:http://js.cytoscape.org/#notation/compound-nodes

レイアウトはこのことを考慮に入れて、子供と親の両方の制約が満たされていることを、このような子どもたちを配置するための一般的な、カスタマイズ可能なアルゴリズムを持たなければなりません。

これはほとんどのレイアウトに適合しないため、明示的な複合語サポートが設定されているレイアウトだけが、あなたが探している結果を提供します。通常のレイアウトでは複合ノードは無視されます。

一般的に、力指向型(物理シミュレーション)のレイアウトは、ColaやCose Bilkentなどの複合グラフで最も効果的です。ツリーのようなレイアウトはそうではありません。複合グラフのレイアウトルールを満たすことが不可能な場合が多すぎます。

方向性制約でColaを試して、結果をツリー状にすることができます。また、化合物グラフが簡単な場合はwrite your own layout using the API、グラフのトポロジーについては十分な前提を設定できます。

関連する問題