グラフツールのグラフの頂点の座標を効率的に指定したいと思います。私はグラフツールの頂点座標
...位置(2.5,3.8)などで1頂点プロットするグラフツールが欲しいNode,X,Y
1,2.5,3.8
2,3.4,2.9
...
:
は次のようになりますCSVを考えます
非効率的な解は、 Explicit vertex position in python graph-toolで与えられます。したがって、私は基本的にすべての座標に対してforループを使用してプロパティマップ 'pos'に保存することができます。私のグラフは「G」であると私のcsvファイルは、データフレームの座標」でパンダを使用して読み込まれると、私は行うことができます。
for i in range(1,numnodes+1):
pos[g.vertex(i)] = (coordinates.values[i-1,1],coordinates.values[i-1,2])
を問題があるノードの私の数は、numnodesが大きいこと(〜10^7)これには時間がかかることがあります。
プロパティマップ 'pos'に直接データを入力すると、この操作を効率的に行うことができますか?
ベクトル化された方法で使うことができますか?ループする代わりに 'pos = coordinates [['' X '、' Y ']] values'ですか?私は 'graph-tool'モジュールを知りませんが、numpy配列や、おそらくパンダのデータフレームでも動作するはずです。 – MaxU