#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