我想以高效的方式在圖形工具中指定圖形頂點的座標。圖形工具中的頂點座標
給定一個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