Явная позиция вершины в графическом инструменте Python - PullRequest
4 голосов
/ 09 октября 2011

Я использую Python Graph-Tool.Для рисования графиков используется функция graph_draw .Я хочу отправлять позиции вершин явно в точечный движок.Оказывается, я могу передать карту свойств с именем pos.Я попытался определить его как v_pos = g.new_vertex_property("vector<double>"), где g - мой график.Я не уверен, что это правильный способ сделать это.

Есть один фрагмент кода, который вам может пригодиться.

pos = gt.random_layout(g, shape=shape, dim=3)
>>> pos[g.vertex(0)].a
array([ 86.59969709,   1.31435598,   0.64651486])
graph_draw(g, pos=pos, output="graph-draw-random.pdf")

Что мне делать, если я определю свойположение вершины в (0,2), (0,4) ... (0,8)?

В приведенном выше фрагменте кода я могу изменить dim на 2. Но я не хочу случайного расположения.

Для справки, вот домашняя страница этого инструмента, который я использую.http://projects.skewed.de/graph-tool/

1 Ответ

5 голосов
/ 09 апреля 2012

Вы можете установить позиции тривиально следующим образом:

   pos = g.new_vertex_property("vector<double>")
   pos[g.vertex(0)] = (0, 2)
   pos[g.vertex(1)] = (0, 4)
   ...
...