Явное положение вершины в графе python-инструмент

#python #graph #draw #dot #graph-tool

#python #График #рисовать #точка #graph-инструмент

Вопрос:

Я использую 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:

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

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

Комментарии:

1. я получаю ошибку ниже при выполнении второй строки, ошибка значения: недопустимый индекс вершины: 0