문제 설명
도트 그래픽의 일부 라인을 평행하게 만드는 방법은 무엇입니까? (How to make some lines of a dot graphic parallel?)
아래 코드에서 설명하는 그래프를 그리기 위해 점을 사용할 때 모든 중간 선이 평행하지 않습니다(즉, 선 A ‑> I 및 E ‑> J):
digraph g {rankdir=LR
node [shape = record, height=0.1];
node0[label = "A ", style="filled", color="black", fillcolor="yellow"];
node1[label = "B "];
node2[label = "C "];
node3[label = "D "];
node4[label = "E "];
node5[label = "F "];
node6[label = "G "];
node7[label = "H "];
node8[label = "I "];
node9[label = "J "];
"node5" ‑> "node0";
"node5" ‑> "node2";
"node6" ‑> "node2";
"node6" ‑> "node4";
"node0" ‑> "node1";
"node2" ‑> "node1";
"node2" ‑> "node3";
"node4" ‑> "node3";
"node1" ‑> "node8";
"node1" ‑> "node7";
"node3" ‑> "node7";
"node3" ‑> "node9";
"node0" ‑> "node8";
"node5" ‑> "node1";
"node2" ‑> "node7";
"node6" ‑> "node3";
"node4" ‑> "node9";
}
dot이 이것을 고려하여 병렬로 만들려면 어떻게 해야 하나요?
도움을 주셔서 감사합니다!
참조 솔루션
방법 1:
Graphviz tries to keep edges straight in rank direction if nodes belong to the same group.
digraph g {rankdir=LR
node [shape = record, height=0.1];
{
node [group=g1];
node0[label = "A ", style="filled", color="black", fillcolor="yellow"];
node8[label = "I "];
}
{
node [group=g2];
node4[label = "E "];
node9[label = "J "];
}
node1[label = "B "];
node2[label = "C "];
node3[label = "D "];
node5[label = "F "];
node6[label = "G "];
node7[label = "H "];
"node5" ‑> "node0";
"node5" ‑> "node2";
"node6" ‑> "node2";
"node6" ‑> "node4";
"node0" ‑> "node1";
"node2" ‑> "node1";
"node2" ‑> "node3";
"node4" ‑> "node3";
"node1" ‑> "node8";
"node1" ‑> "node7";
"node3" ‑> "node7";
"node3" ‑> "node9";
"node0" ‑> "node8";
"node5" ‑> "node1";
"node2" ‑> "node7";
"node6" ‑> "node3";
"node4" ‑> "node9";
}
(by Bernhard Boehmler、stefan)