python - 如何在 graph-tool 中获取通过特定布局算法绘制的图形的坐标?

标签 python graph coordinates graph-layout

我想做所示的例子 here .它在我的机器上运行良好。问题是,我无法将节点的坐标作为存储在变量 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])
[...]

关于python - 如何在 graph-tool 中获取通过特定布局算法绘制的图形的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121445/

相关文章:

android - kivy buildozer 无法编译针对 python3 的应用程序

python - 如何从 python 中给定的整数列表创建 bool 值的多列列表?

r - igraph 将图分割成簇

objective-c - 将小数坐标转换成度、分、秒、方向

python - 使用 pandas 将字典列表添加在一起

python - 将jpeg文件直接写入lmdb

算法 - 如何计算时间序列中的事件 session 数?

python - 使用数据框中的列为 seaborn 图的背景着色

javascript - Javascript 中的随机重复函数

java - 内存卡游戏的坐标生成