Python将ndarrays转换为图形

Lor*_*ore 3 python numpy graph

所以我目前正在研究这个 Python 程序,它基本上通过某种算法计算给定无向图中节点的位移。我的输出由一个 numpy ndarray 形式的邻接矩阵和另一个保存每个节点的坐标(2D)的 numpy ndarray 组成。

我一直在研究绘制结果图的方法,并偶然发现了 igraph 和 NetworkX。我还没有使用它们,但我知道它们可以将邻接矩阵转换为图形,但在这种情况下我不会使用我的坐标。所以我想知道,如何将两者都用于我的图形的图形表示?

我可以想象我必须使用这两个数组来创建不同类型的对象,它本身可以由 NetworkX/igraph 转换。

Hoo*_*ked 6

网络x解决方案:

drawnx.function:发生在该位置的第二个可选参数:

import numpy as np
import networkx as nx
import pylab as plt

A = np.array([[0,0,1,0],[1,0,0,0],[1,0,0,1],[1,0,0,0]])
G = nx.DiGraph(A)

pos = [[0,0], [0,1], [1,0], [1,1]]
nx.draw(G,pos)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明