我想做这里显示的例子。它在我的机器上运行良好。问题是,我无法将节点的坐标作为存储在变量pos某处的数组获取。我该怎么做呢?
提前感谢您的回复!
我想做这里显示的例子。它在我的机器上运行良好。问题是,我无法将节点的坐标作为存储在变量pos某处的数组获取。我该怎么做呢?
提前感谢您的回复!
import pdb; pdb.Pdb().set_trace()
我在分配给 的那一行之后卡住了一个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])
[...]