2011-02-25 3 views

답변

2

파이썬과 networkx으로 그릴 수 있습니다.

import networkx 
import pylab 
edges = [(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)] 
G = networkx.Graph(data=edges) 
networkx.draw(G) 
pylab.show() 

당신은 GUI를 사용하지 않고 이미지로 그래프를 저장하는 방법에 대한 pylab의 설명서를 읽어야합니다. ast.literal_eval을 사용하여 원래 목록을 구문 분석 할 수 있습니다. 예를 들어 파일의 한 줄에 하나의 그래프로 저장된 경우 다음을 수행 할 수 있습니다.

with open('edges.txt') as f: 
    for line in f: 
     edges = list(ast.literal_eval(line)) 
     # drawing goes here 
+0

(a, b) 가장자리 'a'가 항상 'b'보다 위쪽으로 그려 지도록하려면 어떻게해야합니까? –

5

나는 항상 이런 종류의 것들에 graphviz을 사용했습니다.

+2

특히 '그래프'를 배치하는 '점'이라는 명령이 있습니다. 정말 사용하기 쉽습니다. –

관련 문제