2017-07-25 83 views
1

私はpythonでnetworkx使用しています矢印= Trueのパラメータに取るnx.draw機能を使用していますが、矢印は現れていないように見えます。これを行うとき、私はG = nx.Graph()を使用していますが、G = nx.DiGraph()を使用すると、矢印が表示されますが、デフォルトのネットワーク形状は失われます。 nx.drawに付属しているデフォルトのネットワークレイアウトを維持する方法はありますか?nxの矢印を追加する方法はありますか? networkxで引く?

+0

それはあなたがこれらをプロットするために使用されるコマンドを確認するために役立つだろう。私はこれがnetworkxがいくつかのランダムな入力を持つアルゴリズムを使ってノードの位置を設定するという事実ともっと関係があると思いますので、プロットするたびに位置を指定しなければ位置は異なります。 – Joel

答えて

0

はい、あなたはcircular_layoutを使用して、たとえば下記を参照してください、位置を自分で修正する必要があります。

import networkx as nx 
import matplotlib.pyplot as plt 
G = nx.erdos_renyi_graph(20, 0.2) 
pos = nx.circular_layout(G) 
nx.draw_networkx(G, pos=pos) 
plt.show() 

plot of simple graph posは値としてキーや座標などのノードと辞書です。 (同じノードセット付き)有向グラフをプロットするには:

G1 = nx.Digraph(G) 
nx.draw_networkx(G1, pos=pos) 
plt.show() 

plot digraph

関連する問題