2016-09-16 8 views
1

グラフツールのgt.graph_draw()edge_gradientプロパティを使用して、矢印などのマーカーが混雑しているプロットの接続方向をより視覚的に視覚化したいとします。グラフツールのedge_gradientプロパティ

ドキュメント内の説明から、このプロパティが行うべきことであるようです。しかし、現在のところ、エッジを単色に設定することしかできません。私はそうのようなプロパティを使用しています

egradient = g.new_edge_property('vector<double>') 
g.edge_properties['egradient'] = egradient 
e = g.add_edge(v1, v2) 
egradient[e] = (0.9, 0.329,0.282,0.478,1) 
... 
gt.graph_draw(g, ... edge_gradient=g.edge_properties["egradient"]) 

私は(0.9, 0.329,0.282,0.478,1)の最初の値を変更した場合、外観は変わらない - と私はそれをタプルのリストを渡ししようとした場合、私は、グラフツールからこれを取得します内部:

TypeError: float() argument must be a string or a number

どのように私は、グラフツールで探しています何を達成することができますか?私ができない場合は、エッジ勾配5タプルの最初の値は実際に何のために良いのでしょうか?

答えて

0

edge_gradientは実際にはタプルのリストではなく、整数のリストを期待しています。私は最初に同じミスをしました。

例:あなたが白から黒へ行きたい場合は、あなたの `edge_gradientパラメータは次のようになります。ドキュメントは何を意味するかだ

#    o r g b a o r g b a 
edge_gradient=[0, 1, 1, 1, 1, 1, 0, 0, 0, 1] 

、「は5つの要素の各グループは、[o, r, g, b, a]として解釈されます。どこoが範囲[0, 1]にオフセットし、残りの値は、色を指定された

それは読むために少し厳しい取得しますので、私は私のストップポイントを分離し、このようにそれらをフォーマット:

#    offset r g b a 
edge_gradient=[0,  1, 1, 1, 1, \ 
       0.5, 0, 0, 0, 1, \ 
       1,  1, 0, 0, 1] 

これは、白から黒、赤までフェードします。 ...理論的には、少なくとも。私はedge_gradientに2つ以上の勾配停止点を使用するのに問題がありました。私は常にedge_gradientプロパティに渡すリストのようないくつかの辺で終わり、残りは中間の最終的な色を持つような奇妙な動作をします。

関連する問題