在图形工具、Python 界面中从邻接矩阵创建加权图

2024-04-01

我应该如何使用 python 中的图形工具从邻接矩阵中创建图形? 假设我们有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]

但感觉不太对劲,有没有更好的解决办法呢?

(我想一个合适的标签是graph-tool,但我无法添加它,有足够权限的好心人可以制作标签吗?)


图形工具现在包含一个向图形添加边列表的功能。例如,您现在可以执行以下操作:

import graph_tool as gt
import numpy as np
g = gt.Graph(directed=False)
adj = np.random.randint(0, 2, (100, 100))
g.add_edge_list(np.transpose(adj.nonzero()))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在图形工具、Python 界面中从邻接矩阵创建加权图 的相关文章

随机推荐