0
GraphViz를 사용하여 원형 그래프를 그리려고하고 있는데이 그래프에 circo
을 사용하는 것이 가장 좋습니다.circo 레이아웃이있는 graphviz에서 엣지 래핑을 방지하는 방법
7 년 전 게시물 How to prevent edges in graphviz to overlap each other에서 조언을 받아서 overlap=false
및 splines=true
을 사용하면 가장자리가 여전히 서로 겹칩니다.
전체 그래프
는 here 볼 수 있고, 다음과 같이 정의된다 현재로서는digraph question6 {
layout="circo"
overlap=false
splines=true
node [shape="circle"]
G1 [label="1, G"]
G2 [label="2, G"]
D11 [label="1, D1"]
D12 [label="2, D1"]
D21 [label="1, D2"]
D22 [label="2, D2"]
G1 -> D12 [label="c"]
G1 -> G2 [label="a"]
G2 -> D12 [label="a"]
D11 -> G1 [label="d"]
D11 -> D21 [label="e"]
D11 -> D12 [label="c"]
D12 -> G2 [label="d"]
D12 -> D22 [label="c"]
D21 -> G1 [label="d"]
D21 -> D22 [label="c"]
D22 -> D21 [label="b"]
D22 -> G2 [label="d"]
}
나는 이것이 가능하지 않다고 생각합니다. "가장자리 겹침"은 거의 항상 ** 평면성 **을 원하는 것을 의미하며 GraphViz는 평면성을 보장 할 설정이 없습니다. [이 항목에 대한 내 다른 답변] (https://stackoverflow.com/questions/45800371/graphviz-correct-embedding-of-planar-graphs) – TomServo
고맙습니다. 정말 고맙습니다. 이제 평면 수학은 이산 수학을 배우는 중대한 부분이었습니다. 이제 graphviz가 자동으로이 문제를 해결하지 못하기 때문에 수동으로 설정할 수 있습니까? 아니면 OmniFraffle 및 Visio와 같은 다이어그램 응용 프로그램으로 업그레이드해야합니까? 감사! – jackxujh
다른 패키지의 기능 집합에 대해 말할 수 없습니다. GraphV와 점에 대해서는 꽤 많이 알고 있지만 다른 것에 대해서는 언급 할 수 없습니다. 행운을 빌어 요! – TomServo