나는 bipartite 그래프의 n1-by-n2 쌍 - 인접 행렬 A를가집니다. 행렬 A는 scipy.sparse csc 행렬입니다. 나는 networkx에서 A를 사용하여 bipartite graph를 plot하고자합니다. 노드가 node_class라는 클래스 레이블에 따라 색상이 지정되었다고 가정합니다. 다음 작업을 수행 할 수 있습니다.파이썬에서 networkx를 사용하여 2 차원 그래프를 플롯
import networkx as nx
G = nx.from_numpy_matrix(A)
graph_pos = nx.fruchterman_reingold_layout(G)
degree = nx.degree(G)
nx.draw(G, node_color = node_class, with_labels = False, node_size = [v * 35 for v in degree.values()])
위의 코드는 정사각형 인접성 행렬에서 잘 작동합니다. 그러나이 아닌 정사각형이 아닌 양방향 인접 행렬 A에 대한 오류 : 매우 큰 1과 0을 많이 가지고 있기 때문에
가'Adjacency matrix is not square.'
또한 내가 가지고있는 행렬 A가 scipy.sparse matrix`이다. 그래서 나는 A를 쌓고 0을 추가함으로써 (n1 + n2) - by- (n1 + n2) 인접 행렬을 만드는 것을 피하고자한다.
두 파트 그래프에 대한 NetworkX 설명서를 확인했으나, 양방향 인접 행렬을 사용하여 두 부분으로 구성된 그래프를 그리는 방법이나 양방향 인접 행렬을 사용하여 그래프를 만드는 방법은 언급하지 않았습니다. 누군가가 이분법 그래프를 그릴 수있는 방법을 말해 줄 수 있다면, 좋을 것입니다!