2016-11-10 5 views
0

Cytoscape 사이트 (상단의 고양이가있는 사이트)의 breadthfirst 예제를 수정합니다. 새로운 "포식자"노드를 만들고 고양이와 개 노드를 넣은 다음 고양이에서 새로가는 가장자리를 포식자에서 새에 이르기까지 바꿀 때 레이아웃이 완전히 엉망이됩니다.Cytoscape에서 복합 노드로 breadthfirst를 배치하는 방법은 무엇입니까?

화합물 노드를 breadthfirst와 함께 사용하려면 어떻게해야합니까? 아니면 다른 레이아웃을 사용해야합니까? 나는 멋진 것을 원하지 않는다. 단지 복합 노드가 일반 노드가 따르는 규칙과 동일한 규칙을 따르기를 원한다.

답변

0

저는 여러분이 간단한 것을 원한다는 것을 이해합니다.하지만 복합 그래프는 일반 그래프보다 더 복잡합니다.

복합 노드는 독립적 인 차원을 가지고 있지 않습니다 http://js.cytoscape.org/#notation/compound-nodes

레이아웃은 어린이와 부모 모두에 대한 제약 조건을 만족하도록 아이들을 배치하기위한 일반적인 사용자 정의 알고리즘을이 점을 고려하고있다한다 .

이것은 대부분의 레이아웃과 맞지 않으므로 명시 적 컴파운드 지원이 표시된 레이아웃 만 있으면 원하는 결과를 얻을 수 있습니다. 일반 레이아웃은 복합 노드를 무시합니다.

일반적으로 강제 지시 (물리 시뮬레이션) 레이아웃은 Cola 또는 Cose Bilkent와 같은 복합 그래프에서 가장 잘 작동합니다. 나무 같은 레이아웃은 그렇지 않습니다. 복합 그래프의 레이아웃 규칙을 만족시키는 것이 불가능한 경우가 너무 많습니다.

방향성 제약 조건이있는 콜라를 사용하면 결과를 나무 모양으로 만들 수 있습니다. 또는 복합 그래프가 충분히 간단하고 그래프의 토폴로지에 대해 충분한 가정을 할 수 있다면 write your own layout using the API 수 있습니다.