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,反之亦然,因为它是无向的。
感谢
鲁珀特
我有一个由顶点和边表示的图的文本文件(邻接列表)。有没有一种工具可以创建可以读取文本文件的图形的可视化?从顶点和边的文本文件创建图形
的文本文件的格式是
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,反之亦然,因为它是无向的。
感谢
鲁珀特
我好图形可视化工具是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
产生以下图片:
您可以配置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
文件。