adjacency_matrix#
- adjacency_matrix(G, nodelist=None, dtype=None, weight='weight')[source]#
返回图 G 的邻接矩阵。
- Parameters:
- G图
一个 NetworkX 图
- nodelist列表, 可选
行和列按照 nodelist 中的节点顺序排列。 如果 nodelist 为 None,则顺序由 G.nodes() 生成。
- dtypeNumPy 数据类型, 可选
数组所需的数据类型。 如果为 None,则使用 NumPy 默认值。
- weight字符串或 None, 可选 (默认=’weight’)
用于在矩阵中提供每个值的边数据键。 如果为 None,则每条边的权重为 1。
- Returns:
- ASciPy 稀疏数组
G 的邻接矩阵表示。
See also
to_numpy_array
to_scipy_sparse_array
to_dict_of_dicts
adjacency_spectrum
Notes
对于有向图,条目 i,j 对应于从 i 到 j 的边。
如果你想使用纯 Python 的邻接矩阵表示,可以尝试 networkx.convert.to_dict_of_dicts,它将返回一个 字典-字典格式,可以作为稀疏矩阵访问。
对于带有平行边的 MultiGraph/MultiDiGraph,权重会被累加。 参见
to_numpy_array
获取其他选项。图中自环边的约定是将其对角矩阵条目值赋给边权重属性 (如果没有边权重属性,则为数字 1)。如果希望使用 双倍边权重的替代约定,可以按以下方式修改生成的 SciPy 稀疏数组:
>>> G = nx.Graph([(1, 1)]) >>> A = nx.adjacency_matrix(G) >>> print(A.todense()) [[1]] >>> A.setdiag(A.diagonal() * 2) >>> print(A.todense()) [[2]]
Additional backends implement this function
graphblas : OpenMP-enabled sparse linear algebra backend.