2016-05-13 27 views
1

我有一个由顶点和边表示的图的文本文件(邻接列表)。有没有一种工具可以创建可以读取文本文件的图形的可视化?从顶点和边的文本文件创建图形

的文本文件的格式是

0 1 2 
1 3 6 
2 3 7 
3 4 
4 5 
5 6 7 
6 8 
7 8 

它是一种无向图。 0 1 2表示0邻居1,0邻居2,反之亦然,因为它是无向的。

感谢

鲁珀特

回答

2

我好图形可视化工具是graphviz。 Graphviz使用dot格式。你可以写你绘制这样的:

strict graph { 
    0 -- 1; 
    0 -- 2; 
    1 -- 3; 
    1 -- 6; 
    2 -- 3; 
    2 -- 7; 
    3 -- 4; 
    4 -- 5; 
    5 -- 6; 
    5 -- 7; 
    6 -- 8; 
    7 -- 8; 
} 

生成图形的图像,执行

dot -Tpng g.dot > g.png 

产生以下图片:

enter image description here

您可以配置dot使用一个不同的布局。

如果你的图形是巨大的和手动转换为点格式是不可行的,你可以用下面的python脚本(它使用networkx与pygraphviz),上面写着你的形容词形式,并产生以点格式文件:

import networkx as nx 
import os 
import sys 

inf = sys.argv[1] 
out = os.path.splitext(inf)[0] + '.dot' 

g = nx.Graph() 

for line in open(inf).readlines(): 
    adj = list(map(int, line.split())) 
    u = adj[0] 
    for v in adj[1:]: 
     g.add_edge(u, v) 

nx.write_dot(g, out) 

给exec这个纸条执行

python script.py graph.txt 

将生成一个名为graph.dot文件。

相关问题