2013-08-02 3 views
6

Networkx으로 정사각형 격자를 그려야합니다. 나는 다음과 같이했다 :Networkx로 격자 및 그래프 그리기

그러나 출력은 단지 빈 그림이다. 어떻게 해결할 수 있습니까?

또한 가로, 세로로 화살표를 결합하고 싶습니다. (i,j) to (i+1,j)에서가는 화살표의 방향은 이미 가지고있는 행렬 A의 i, j 요소의 부호에 따라 달라집니다. 이 작업을 수행하는 방법?

답변

8

이이 nx.grid_2d_graph에 대한 명시 적 그래프 생성자 : 우리는 당신의 가장자리 기준에 맞는 방향 그래프로이 무향 그래프를 수정할 수 있습니다

G = nx.grid_2d_graph(L,L) 
nx.draw(G,node_size=2000) 
plt.show() 

enter image description here

. 예를 들어, 원점을 가리키는 가장자리를 제거했습니다. 당신은 당신의 요구에 맞게이 적응할 수 :

G2 = nx.DiGraph(G) 
for edge in G2.edges(): 
    if edge != tuple(sorted(edge)): 
     G2.remove_edge(*edge) 

nx.draw_spectral(G2,node_size=600,node_color='w') 

enter image description here