2017-11-09 2 views
3

나는 파이썬에서 networkx를 사용하여 유향 그래프를 작성하고 있습니다. 그러나 가장자리의 화살 머리가 뾰족한 화살 대신 한쪽 끝에서 두껍다는 것을 알았습니다. 두꺼운 모서리를 뾰족한 화살표로 바꾸고 싶습니다.networkx의 화살촉 유형 변경

import networkx as nx 
import matplotlib.pyplot as plt 

G=nx.DiGraph() 

item = [1,2] 

G.add_edge(*item) #color = item[-1], weight = 2) 

pos = nx.circular_layout(G)  
nx.draw(G, pos, with_labels = True, edge_color = 'b') 
plt.show() 

출력 enter image description here

원하는 출력 : 여기에 내 코드, 실제 출력하고, 원하는 출력은 가 enter image description here

어떤 제안이 정말 도움이 될 것입니다?

답변

0

지금은 nx.draw로는 불가능합니다. https://github.com/networkx/networkx/blob/master/networkx/drawing/nx_pylab.py#L584에 따르면 아직 구현되지 않았습니다.

그러나 graphviz를 사용하여 그래프를 그릴 수 있습니다. Networkx는 그래프를 graphviz 객체로 쉽게 변환 할 수있는 인터페이스를 제공합니다. https://networkx.github.io/documentation/stable/reference/drawing.html#module-networkx.drawing.nx_agraph을 참조하십시오.

0

좋은 소식. 이것은 networkx의 개발 버전 (networkx-2.1)에서 가능합니다. 코드는 이제 지금 화살표

In [5]: import networkx as nx 
    ...: import matplotlib.pyplot as plt 
    ...: 
    ...: G=nx.DiGraph() 
    ...: 
    ...: item = [1,2] 
    ...: 
    ...: G.add_edge(*item) #color = item[-1], weight = 2) 
    ...: 
    ...: pos = nx.circular_layout(G)  
    ...: nx.draw(G, pos, with_labels = True, edge_color = 'b') 
    ...: plt.show() 
    ...: 

enter image description here

을 그립니다