2017-09-07 16 views
0

enter image description here graphviz의 서보 엔진에서 특정 노드의 가장자리 길이를 줄이려면 어떻게해야합니까? 여기에 19 개의 노드와 22 개의 가장자리가있는 단순한 도트 파일이 있습니다. 다음 명령을 사용하여 컴파일했습니다.서보 엔진 graphviz에서 특정 노드 간의 에지 길이를 줄이는 방법

circo "input-filename"-Gstart = 5 -Gsize = 1,2! -Gdpi = 300 -Teps -o 인해 요구 사항 "출력 파일 이름"

digraph graphname { 
node [fontname = "times-roman-bold",fontsize=12]; 
    edge [fontname = "times-roman-bold",fontsize=12]; 
    rankdir=LR; 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
1 -> 2 
2 -> 3 
3 -> 5 
3 -> 4 
4 -> 5 
5 -> 6 
6 -> 8 
6 -> 7 
7 -> 8 
8 -> 9 
9 -> 11 
9 -> 10 
10 -> 14 
11 -> 12 
12 -> 14 
12 -> 13 
13 -> 17 
14 -> 15 
15 -> 16 
15 -> 17 
16 -> 19 
17 -> 18 
} 

, 우리는 circo 엔진을 사용하여 컴파일해야합니다. 여기 생성 된 출력을 첨부합니다. 그리고 내 의심은 어떻게 노드 8과 9 (8 -> 9) 가장자리 사이의 가장자리 길이를 줄일 수 있습니다. 도와주세요. 많은 감사드립니다.

답변

0

가장자리 길이에 직접 영향을 줄 수는 없지만 보이지 않는 노드 나 가장자리를 추가하여 레이아웃에 영향을 줄 수 있습니다.

다음은 다이어그램의 마지막 노드로 모든 노드에서 보이지 않는 모서리를 추가하면 어떻게되는지 보여주는 예입니다 :

<!DOCTYPE html> 
 
<meta charset="utf-8"> 
 
<body> 
 
<script src="//d3js.org/d3.v4.min.js"></script> 
 
<script src="https://unpkg.com/[email protected]/viz.js"></script> 
 
<script src="https://unpkg.com/[email protected]/build/d3-graphviz.min.js"></script> 
 
<div id="graph" style="text-align: center;"></div> 
 
<script> 
 

 
var dots = [ 
 
    ` 
 
digraph graphname { 
 
    graph [] 
 
    node [fontname = "times-roman-bold",fontsize=12]; 
 
    edge [fontname = "times-roman-bold",fontsize=12]; 
 
    rankdir=LR; 
 
    1 
 
    2 
 
    3 
 
    4 
 
    5 
 
    6 
 
    7 
 
    8 
 
    9 
 
    10 
 
    11 
 
    12 
 
    13 
 
    14 
 
    15 
 
    16 
 
    17 
 
    18 
 
    19 
 
    1 -> 2 
 
    2 -> 3 
 
    3 -> 5 
 
    3 -> 4 
 
    4 -> 5 
 
    5 -> 6 
 
    6 -> 8 
 
    6 -> 7 
 
    7 -> 8 
 
    8 -> 9 
 
    9 -> 11 
 
    9 -> 10 
 
    10 -> 14 
 
    11 -> 12 
 
    12 -> 14 
 
    12 -> 13 
 
    13 -> 17 
 
    14 -> 15 
 
    15 -> 16 
 
    15 -> 17 
 
    16 -> 19 
 
    17 -> 18 
 
} 
 
    `, ` 
 
digraph graphname { 
 
    graph [] 
 
    node [fontname = "times-roman-bold",fontsize=12]; 
 
    edge [fontname = "times-roman-bold",fontsize=12]; 
 
    rankdir=LR; 
 
    1 
 
    2 
 
    3 
 
    4 
 
    5 
 
    6 
 
    7 
 
    8 
 
    9 
 
    10 
 
    11 
 
    12 
 
    13 
 
    14 
 
    15 
 
    16 
 
    17 
 
    18 
 
    19 
 
    1 -> 2 
 
    2 -> 3 
 
    3 -> 5 
 
    3 -> 4 
 
    4 -> 5 
 
    5 -> 6 
 
    6 -> 8 
 
    6 -> 7 
 
    7 -> 8 
 
    8 -> 9 
 
    9 -> 11 
 
    9 -> 10 
 
    10 -> 14 
 
    11 -> 12 
 
    12 -> 14 
 
    12 -> 13 
 
    13 -> 17 
 
    14 -> 15 
 
    15 -> 16 
 
    15 -> 17 
 
    16 -> 19 
 
    17 -> 18 
 
// 
 
    2 -> 19 [color="red"] 
 
    3 -> 19 [color="red"] 
 
    4 -> 19 [color="red"] 
 
    5 -> 19 [color="red"] 
 
    6 -> 19 [color="red"] 
 
    7 -> 19 [color="red"] 
 
    8 -> 19 [color="red"] 
 
    9 -> 19 [color="red"] 
 
    10 -> 19 [color="red"] 
 
    11 -> 19 [color="red"] 
 
    12 -> 19 [color="red"] 
 
    13 -> 19 [color="red"] 
 
    14 -> 19 [color="red"] 
 
    15 -> 19 [color="red"] 
 
    16 -> 19 [color="red"] 
 
    17 -> 19 [color="red"] 
 
    18 -> 19 [color="red"] 
 
    19 -> 19 [color="red"] 
 
} 
 
    `, ` 
 
digraph graphname { 
 
    graph [] 
 
    node [fontname = "times-roman-bold",fontsize=12]; 
 
    edge [fontname = "times-roman-bold",fontsize=12]; 
 
    rankdir=LR; 
 
    1 
 
    2 
 
    3 
 
    4 
 
    5 
 
    6 
 
    7 
 
    8 
 
    9 
 
    10 
 
    11 
 
    12 
 
    13 
 
    14 
 
    15 
 
    16 
 
    17 
 
    18 
 
    19 
 
    1 -> 2 
 
    2 -> 3 
 
    3 -> 5 
 
    3 -> 4 
 
    4 -> 5 
 
    5 -> 6 
 
    6 -> 8 
 
    6 -> 7 
 
    7 -> 8 
 
    8 -> 9 
 
    9 -> 11 
 
    9 -> 10 
 
    10 -> 14 
 
    11 -> 12 
 
    12 -> 14 
 
    12 -> 13 
 
    13 -> 17 
 
    14 -> 15 
 
    15 -> 16 
 
    15 -> 17 
 
    16 -> 19 
 
    17 -> 18 
 
// 
 
    2 -> 19 [color="none"] 
 
    3 -> 19 [color="none"] 
 
    4 -> 19 [color="none"] 
 
    5 -> 19 [color="none"] 
 
    6 -> 19 [color="none"] 
 
    7 -> 19 [color="none"] 
 
    8 -> 19 [color="none"] 
 
    9 -> 19 [color="none"] 
 
    10 -> 19 [color="none"] 
 
    11 -> 19 [color="none"] 
 
    12 -> 19 [color="none"] 
 
    13 -> 19 [color="none"] 
 
    14 -> 19 [color="none"] 
 
    15 -> 19 [color="none"] 
 
    16 -> 19 [color="none"] 
 
    17 -> 19 [color="none"] 
 
    18 -> 19 [color="none"] 
 
    19 -> 19 [color="none"] 
 
} 
 
    ` 
 
]; 
 

 
var dotIndex = 0; 
 
var graphviz = d3.select("#graph").graphviz(); 
 

 
function render() { 
 
    var dot = dots[dotIndex % dots.length]; 
 
    var transition1 = d3.transition() 
 
     .delay(1000) 
 
     .duration(dotIndex == 0 ? 1000 : 5000); 
 
    graphviz 
 
     .tweenShapes(false) 
 
     .engine("circo") 
 
     .dot(dot) 
 
     .transition(transition1) 
 
     .render(); 
 
    dotIndex += 1; 
 

 
    transition1 
 
     .transition() 
 
     .duration(0) 
 
     .on('end', function() { 
 
      if (dotIndex != dots.length) { 
 
       render(); 
 
      } 
 
     }); 
 
} 
 

 
render(); 
 

 
</script>