graph - networkx 图的默认顺序?
问题描述
我最近曾经networkx.adjacency_matrix(G)
为图生成邻接矩阵。当我绘制邻接矩阵 (1) 时,我很惊讶它显示了这些不同的集群。当节点顺序按照我将它们添加到图 (2) [等效于networkx.adjacency_matrix(G, sorted(list(G.nodes())
] 的顺序绘制时,这些集群就会消失。
制作邻接矩阵时,networkx的默认排序协议是什么?这似乎没有记录。
默认“顺序”:
添加到图中的节点/边的顺序:
解决方案
结果可能取决于 Arya 提出的 python 版本,主题是关于字典的默认排序。看看这里:字典是在 Python 3.6+ 中排序的吗?
从adjacency_matrix的代码,将带您到to_scipy_sparse_matrix,使用的默认节点顺序是list(G)
.
推荐阅读
- java - 如何将返回值传递给方法并在java android retrofit中获取响应值
- c++ - 为什么我的冒泡排序函数将 0 添加到我的向量数组中,尽管它不在我的数组中?
- php - 未强制执行 PHP 函数参数类型声明
- python - 在python中过滤geojson
- java - Smali - 很多“移动对象”
- react-hooks - React Native Flatlist 显示不需要的数据
- excel - 如何在excel中自动计数
- amazon-web-services - AWS Nginx 反向代理作为负载均衡器
- magento-2.3 - 交易失败:重复的标头“内容传输编码”。(回复 DATA 命令的结尾))问题
- php - 无法重置油门