首页 > 解决方案 > networkx 图的默认顺序?

问题描述

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

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

默认“顺序”:

在此处输入图像描述

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

在此处输入图像描述

标签: graphnetworkx

解决方案


结果可能取决于 Arya 提出的 python 版本,主题是关于字典的默认排序。看看这里:字典是在 Python 3.6+ 中排序的吗?

adjacency_matrix的代码,将带您到to_scipy_sparse_matrix,使用的默认节点顺序是list(G).


推荐阅读