使用共现矩阵绘制网络

Plotting a network using a co-occurrence matrix

我想在 Python 中使用同现矩阵作为输入绘制一个网络,这样具有非零同现计数的节点被连接起来,边的权重是与每个节点之间的共现数成正比。

是否存在 python 库可以使用共现矩阵作为输入来促进此任务?

您可能会发现 NetworkX 是一个有用的工具。您可以通过多种方式轻松地为它提供输入节点和边。

如果您想使用共现矩阵生成网络,您可以使用 NetworkX 的方法 from_numpy_matrix,它允许您从 numpy 矩阵创建一个图,该矩阵将被解释为邻接矩阵。

这是文档中的一个简单玩具示例:

import numpy as np
import networkx as nx

A=np.matrix([[1,1],[2,1]])
G=nx.from_numpy_matrix(A)

确实可以用 networkx

做类似的事情

检查这个:

有了它你可以生成这样的图表:

您可以将信息导出到 graphml file format and use yEd Graph Editor 以导航和格式化您的 networkx 图的内容。