我想以高效的方式在图形工具中指定图形顶点的坐标。图形工具中的顶点坐标
给定一个CSV它看起来像:
Node,X,Y
1,2.5,3.8
2,3.4,2.9
...
我想图形工具到顶点1的位置(2.5,3.8)等绘制...
一个非效率的解决方案如下: 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