2016-08-26 2 views
1

나는 cose 레이아웃으로 cytoscape.js 라이브러리를 사용할 때 올바른 간격을 얻는 방법을 결정하려고합니다. 특히 노드의 너비와 높이를 정의 할 때 노드가 겹치는 경향이 있습니다. 여기cytoscape.js 레이아웃 노드 겹치기하기

내가 레이아웃 옵션을 실험하려고 한 Demo

,하지만 난 내 의도 한 결과를 나에게 제공 한 옵션을 발견하지 않았습니다. 또한 이상적으로, 나는 다양한 크기의 노드를 가질 수 있습니다.

사이드 노트 : 동일한 소스 및 타겟 .. 에지가있는 그래프를 만들 때 내가 발견 한 이상한 행동 레이아웃 간격은 의도 한대로입니다. (plnkr의 빨간색 버튼 참조). 하지만 이런 유형의 가장자리가 없다면 분명히 도움이되지 않습니다.

답변

1

가장자리를 추가하면 시스템의 동적 특성이 변경됩니다. 기본 힘은 스프링/탄력, 반발력 및 중심 대비 중력입니다. 또한 중첩이 감지 될 때 힘을 증가시키는 데 도움이되는 노드 중첩 승수에 관심이있을 수 있습니다. 데이터와 함께 작동하는 것을 확인하려면 많은 조합을 실험해야하지만 작동합니다. 다음은 옵션이 데이터에 맞게 적절하게 조정 된 몇 가지 예입니다. #1#2

사용자가 수행하는 런타임 성능에 대한 개발자의 부담은 절충됩니다. CoSE는 매우 빠르지 만 개발자는 자신의 데이터에 맞게 옵션을 설정해야합니다. CoSE-Bilkent 및 Cola와 같은 다른 강제 레이아웃은 개발자가 사용하기가 훨씬 쉽지만 느리게 실행됩니다.

관련 문제