Я хотел бы эффективно указать координаты вершин графа в графическом инструменте.
Учитывая csv, который выглядит так:
Node,X,Y
1,2.5,3.8
2,3.4,2.9
...
Я бы хотел, чтобы граф-инструмент отображал вершину 1 в позиции (2.5,3.8) и т.д...
Неэффективное решение приведено в: Явная позиция вершины в python graph-tool , поэтому я могу использовать цикл for для всех своих координат и сохранить их на карте свойств 'pos'. Если мой график равен «g», а мой csv читается с использованием pandas в «координатах» фрейма данных, я могу сделать:
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 или, может быть, даже с фреймами данных pandas... - person MaxU   schedule 27.06.2016