加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

从graph-tool,python接口中的邻接矩阵创建加权图

发布时间:2020-12-16 23:30:18 所属栏目:Python 来源:网络整理
导读:我应该如何使用 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
我应该如何使用 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]

但它感觉不对,我们有更好的解决方案吗?

(我想一个适当的标签就是图形工具,但是我无法添加它,某些具有足够权限的人可以制作标签?)

解决方法

图形工具现在包括一个向图形添加边缘列表的功能.你现在可以做,例如:
adj = numpy.random.randint(0,2,(100,100)) # a random directed graph
g = Graph()
g.add_edge_list(transpose(adj.nonzero()))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读