2013-03-21 24 views
11

curveSeqが保持するY値の与えられたシーケンスからグラフを作成しています。 (Xの値が自動的に列挙されている:0,1,2 ...)networkxを使用するノードラベル

すなわちcurveSeq = [10,20,30]のために、私のグラフはポイントが含まれます:

<0,10>, <1,20>, <2,30>. 

私は同じに一連のグラフを描いていますがnx.Graphを使用して、すべてを1つの画像に表示します。

私の問題は、次のとおりです。

  • 各ノードは、その位置を記載しています。すなわち、位置<0,10>のノードは、それぞれのラベルを提示し、それを除去する方法を知らない。
  • ラベルを追加する特定のノードがありますが、わかりません。例えば

、配列について:

[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1] 

受信したグラフである。

graph

コードである:

for point in curveSeq: 
       cur_point = point 
       #assert len(cur_point) == 2 
       if prev_point is not None: 
        # Calculate the distance between the nodes with the Pythagorean 
        # theorem 
        b = cur_point[1] - prev_point[1] 
        c = cur_point[0] - prev_point[0] 
        a = math.sqrt(b ** 2 + c ** 2) 
        G.add_edge(cur_point, prev_point, weight=a) 
       G.add_node(cur_point) 
       pos[cur_point] = cur_point 
       prev_point = cur_point 
      #key: 
      G.add_node((curve+1,-1)) 
      pos[(curve+1,-1)] = (curve+1,-1) 

      nx.draw(G, pos=pos, node_color = colors[curve],node_size=80) 
      nx.draw_networkx_edges(G,pos=pos,alpha=0.5,width=8,edge_color=colors[curve]) 

    plt.savefig(currIteration+'.png') 

答えて

19

あなたがwith_labels=Falseを追加することができドラグを抑制するキーワードラベルの翼はnetworkx.draw()である。

networkx.draw(G, pos=pos, node_color=colors[curve], 
    node_size=80, with_labels=False) 

そしてラベルは、ラベルの辞書マッピングノードIDである

networkx.draw_networkx_labels(G,pos, labels) 

で特定のラベルを描きます。

この例を見てhttp://networkx.github.com/documentation/latest/examples/drawing/labels_and_colors.html

+0

このリンクは不壊です。代わりにこれを使用してください:https://networkx.github.io/documentation/networkx-1.10/examples/drawing/labels_and_colors.html – blacksite

関連する問題