그래프 그리기 절차 자동화

그래프 그리기 절차 자동화

여기 있습니다: 저는 50개의 정점과 ~200개의 모서리와 같은 큰 그래프를 그리고 싶습니다. 저는 계산 대수학 프로그램인 GAP의 출력에서 ​​가장자리를 얻고 있습니다. 현재로서는 그래프가 어떻게 보일지 전혀 모르지만 프로그램에 정수 쌍 등을 인쇄하도록 요청할 수 있습니다. 예를 들어:

1 -- 2,
1 -- 3,
1 -- 31,
1 -- 32,
1 -- 33,
1 -- 34,
1 -- 35,
1 -- 36,
1 -- 37,
1 -- 38,
1 -- 39,
1 -- 40,
1 -- 41,
1 -- 42,
2 -- 3,
2 -- 31,
2 -- 32,
2 -- 33,
2 -- 34,
2 -- 35,
2 -- 36,
2 -- 37,
2 -- 38,
2 -- 39,
2 -- 40,
2 -- 41,
2 -- 42,
3 -- 31,
3 -- 32,
3 -- 33,
3 -- 34,
3 -- 35,
3 -- 36,
3 -- 37,
3 -- 38,
3 -- 39,
3 -- 40,
3 -- 41,
3 -- 42,
4 -- 6,
4 -- 9,
4 -- 37,
4 -- 38,
4 -- 39,
5 -- 8,
5 -- 11,
5 -- 37,
5 -- 38,
5 -- 39,
6 -- 9,
6 -- 37,
6 -- 38,
6 -- 39,
7 -- 10,
7 -- 12,
7 -- 37,
7 -- 38,
7 -- 39,
8 -- 11,
8 -- 37,
8 -- 38,
8 -- 39,
9 -- 37,
9 -- 38,
9 -- 39,
10 -- 12,
10 -- 37,
10 -- 38,
10 -- 39,
11 -- 37,
11 -- 38,
11 -- 39,
12 -- 37,
12 -- 38,
12 -- 39,
13 -- 15,
13 -- 18,
13 -- 34,
13 -- 35,
13 -- 36,
14 -- 17,
14 -- 20,
14 -- 34,
14 -- 35,
14 -- 36,
15 -- 18,
15 -- 34,
15 -- 35,
15 -- 36,
16 -- 19,
16 -- 21,
16 -- 34,
16 -- 35,
16 -- 36,
17 -- 20,
17 -- 34,
17 -- 35,
17 -- 36,
18 -- 34,
18 -- 35,
18 -- 36,
19 -- 21,
19 -- 34,
19 -- 35,
19 -- 36,
20 -- 34,
20 -- 35,
20 -- 36,
21 -- 34,
21 -- 35,
21 -- 36,
22 -- 24,
22 -- 27,
22 -- 40,
22 -- 41,
22 -- 42,
23 -- 26,
23 -- 29,
23 -- 40,
23 -- 41,
23 -- 42,
24 -- 27,
24 -- 40,
24 -- 41,
24 -- 42,
25 -- 28,
25 -- 30,
25 -- 40,
25 -- 41,
25 -- 42,
26 -- 29,
26 -- 40,
26 -- 41,
26 -- 42,
27 -- 40,
27 -- 41,
27 -- 42,
28 -- 30,
28 -- 40,
28 -- 41,
28 -- 42,
29 -- 40,
29 -- 41,
29 -- 42,
30 -- 40,
30 -- 41,
30 -- 42,
31 -- 32,
31 -- 33,
32 -- 33,
34 -- 35,
34 -- 36,
35 -- 36,
37 -- 38,
37 -- 39,
38 -- 39,
40 -- 41,
40 -- 42,
41 -- 42,

그리고 나는 정점 1,2,...을 갖는 그래프(조합적 의미에서)를 만들고 싶습니다. 그리고 인쇄된 쌍에 따라 가장자리가 그려집니다. 엄청난 양의 목록을 얻게 되므로 복사하여 붙여넣기를 사용하여 이 목록을 일부 코드에 자동으로 입력하고 그래프를 그릴 수 있는 방법이 있습니까? GAP가 인쇄하는 내용을 분명히 변경할 수 있습니다. 예를 들어 1 2 대신 (1,2) 또는 관련 정보가 있는 다른 문자열이 필요한 경우입니다.

나는 tikz에 대한 지식이 전혀 없습니다.

업데이트: 제안된 코드를 사용하면 다음 그래프가 나타납니다.

여기에 이미지 설명을 입력하세요

이 그래프를 더 잘 그리는 방법에 대한 제안을 환영합니다(가운데에 있는 지저분한 것은완벽한6개의 꼭지점에 대한 그래프).

답변1

\documentclass[a4paper,12pt]{article}
\usepackage{tikz}

\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{force}

\begin{document}
\tikz [rounded corners]
\graph [spring layout, node distance=2cm]
{
1 -- 2,
1 -- 3,
1 -- 31,
1 -- 32,
1 -- 33,
2 -- 3,
32 -- 33,
33 -- 31
};

\end{document}

LuaLaTeX로 컴파일해야 합니다. PGF 매뉴얼, 페이지 369 및 421에 대한 자세한 내용.

여기에 이미지 설명을 입력하세요

관련 정보