도트 그래픽의 일부 라인을 평행하게 만드는 방법은 무엇입니까? (How to make some lines of a dot graphic parallel?)


문제 설명

도트 그래픽의 일부 라인을 평행하게 만드는 방법은 무엇입니까? (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 Boehmlerstefan)

참조 문서

  1. How to make some lines of a dot graphic parallel? (CC BY‑SA 2.5/3.0/4.0)

#directed-graph #graphics #graph #dot #graphviz






관련 질문

다른 유형의 멤버가 있는 두 개의 구조체를 선언하는 방법은 무엇입니까? (How to declare two structs which have members of the others type?)

깊이 우선 그래프 검색 트리의 백 에지 (Back Edges in a depth first graph search tree)

각 노드에 최대 하나의 아웃바운드 에지가 있는 완전 연결 방향 그래프를 무엇이라고 합니까? (What do you call a fully connected directed graph where each node has at most one outbound edge?)

Floyd-Warshall 알고리즘 (Floyd-Warshall algorithm)

도트 그래픽의 일부 라인을 평행하게 만드는 방법은 무엇입니까? (How to make some lines of a dot graphic parallel?)

그래프 구현에서 모든 주기 찾기 (Find all cycles in a graph implementation)

반전이 있는 TSP (TSP with a twist)

C++ 방향 그래프 깊이 우선 탐색 (c++ directed graph depth first search)

Python에서 레이블이 지정된 병렬 모서리/꼭짓점을 사용하여 방향 그래프 생성 (Generating Directed Graph With Parallel Labelled Edges/Vertices in Python)

개체 배열을 설정하는 동안 FindBug 오류 '변경 가능한 개체에 대한 참조를 통합하여 내부 표현을 노출할 수 있음'을 수정하는 방법은 무엇입니까? (How to Fix FindBug error 'May expose internal representation by incorporating reference to mutable object' while setting Array of Objects?)

그래프 직렬화 (Graph serialization)

유향 그래프를 저장/액세스하는 가장 좋은 방법 (Best Way to Store/Access a Directed Graph)







코멘트