微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

networkx 图的默认顺序?

如何解决networkx 图的默认顺序?

我最近使用 networkx.adjacency_matrix(G) 为图生成邻接矩阵。当我绘制邻接矩阵 (1) 时,我很惊讶它显示了这些不同的集群。当按照我将它们添加到图 (2) [相当于 networkx.adjacency_matrix(G,sorted(list(G.nodes())] 的顺序绘制节点顺序时,这些集群就会消失。

networkx 生成邻接矩阵时认的排序协议是什么?这似乎没有记录。

认“顺序”:

enter image description here

节点/边添加到图中的顺序:

enter image description here

解决方法

结果可能取决于 Arya 提出的 Python 版本,主题是关于 dicts 的默认排序。看看这里:Are dictionaries ordered in Python 3.6+?

adjacency_matrix的代码来看,会带你到to_scipy_sparse_matrix,使用的默认节点顺序是list(G)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。