ここに示す例を実行したいと思います。私のマシンでは完璧に動作します。問題は、ノードの座標を変数posのどこかに格納されている配列として取得できないことです。どうすればいいですか?
ご回答ありがとうございます。
ここに示す例を実行したいと思います。私のマシンでは完璧に動作します。問題は、ノードの座標を変数posのどこかに格納されている配列として取得できないことです。どうすればいいですか?
ご回答ありがとうございます。
import pdb; pdb.Pdb().set_trace()
に割り当てられた行の直後にa を貼り付け、pos
をつついたpos
。これはgraph_tool.PropertyMap
頂点属性を含むものです:
(Pdb) pos
<PropertyMap object with key type 'Vertex' and value type 'vector<double>', for Graph 0x2efbf90
このオブジェクトから各頂点を反復処理する直接的な方法はないようですが、グラフを取得して各頂点についてグラフに問い合わせることはできます。
(Pdb) pos.get_graph().vertices()
<graph_tool.libgraph_tool_core.VertexIterator object at 0x2f99950>
pos
これは各頂点を反復し、マッピングであるへのキーとして使用できます。
(Pdb) pos[pos.get_graph().vertices().next()]
array([-37.40184702, 25.3717068 ])
または、それらすべてが必要な場合は、これをサンプル プログラムに入れることができます。
for vertex in g.vertices():
print pos[vertex]
どちらが印刷されますか:
array([-37.40184702, 25.3717068 ])
array([-37.5790565 , 26.77548156])
array([-35.57640651, 24.60125253])
array([-38.90262591, 24.30374 ])
array([-33.72945377, 24.31891936])
array([-32.68247364, 25.85861809])
[...]