Python将ndarrays转换为图形

时间:2012-06-04 12:49:41

标签: python graph numpy

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

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

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

1 个答案:

答案 0 :(得分:4)

networkx解决方案:

draw nx.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()

enter image description here