我应该如何使用
python中的图形工具从邻接矩阵中创建图形?
假设我们有adj矩阵作为邻接矩阵.
假设我们有adj矩阵作为邻接矩阵.
我现在做的是这样的:
g = graph_tool.Graph(directed = False) g.add_vertex(len(adj)) edge_weights = g.new_edge_property('double') for i in range(adj.shape[0]): for j in range(adj.shape[1]): if i > j and adj[i,j] != 0: e = g.add_edge(i,j) edge_weights[e] = adj[i,j]
但它感觉不对,我们有更好的解决方案吗?
(我想一个适当的标签就是图形工具,但是我无法添加它,某些具有足够权限的人可以制作标签?)
解决方法
图形工具现在包括一个向图形添加边缘列表的功能.你现在可以做,例如:
adj = numpy.random.randint(0,2,(100,100)) # a random directed graph g = Graph() g.add_edge_list(transpose(adj.nonzero()))