所以我正在研究这个Python程序,它基本上通过一些算法计算给定无向图中节点的位移。我的输出包括一个numpy ndarray形式的邻接矩阵和另一个保存每个节点坐标(2D)的numpy ndarray。
我一直在研究绘制结果图的方法,偶然发现igraph和NetworkX。我还没有使用它们,但我知道它们可以将邻接矩阵转换为图形,在这种情况下我不会使用我的坐标。所以我想知道,我怎样才能将它们用于图形的图形表示?
我可以想象我必须使用两个数组来创建一种不同类型的对象,它本身可以通过NetworkX / igraph进行转换。
答案 0 :(得分:4)
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()