Я хочу создать график с помощью NetworkX, разметить график с помощью Graphviz (через pygraphviz). Я успешно выполнил все примеры из документации примеров NetworkX pygraphviz < / а>
У меня есть вопрос: как мне получить координаты (x, y) и размеры (ширина, высота) вершин обратно в график NetworkX. Это цель. Мне нужны только возможности макета Graphviz, а не возможности рисования. Возможно ли это с использованием этого стека (NetworkX, pygraphviz, graphviz)? Любым другим путем?
Фоновая мотивация такова. Graphviz выводит png, ps, svg и многие другие форматы. Но я не хочу, чтобы меня ограничивали форматы, которые обрабатывает Graphviz. И я хочу иметь возможность постобработать результаты макета, даже если в конечном итоге я буду выводить популярные форматы, такие как Graphviz, которые поддерживает.
Обновление: я переписал вопрос для ясности. Совет по форматам вывода Graphviz упускает суть. Мне нужны данные макета
Обновление 2: было предложено сделать вывод Graphviz в каком-либо формате, из которого я мог бы затем проанализировать данные макета. Предложение было для SVG. Я рассматривал такую возможность. Graphviz выводит json (согласно странице документации по форматам вывода Graphviz) . Мне не удалось заставить его работать на моей установке Windows - по какой-то причине присутствовали не все выходные форматы). Однако меня беспокоит именно такой подход. Разбор форматированного вывода для данных, которые использовались для создания этого вывода, кажется обратным. Думаю, сами данные должны были быть доступны.
Обновление 3. Есть аналогичный вопрос - Как получить координаты макета из graphviz?. Один из ответов предлагает использовать NetworkX. Однако в ответе используется макет, сделанный NetworkX, а не Graphviz. Автор ответа не знал, как получить данные макета Graphviz. Так что мой вопрос остается актуальным, но пока не получил ответа
Обновление 4 - это 07-2019, и я все еще не нашел способа решить эту проблему. Я пометил один ответ как принятый, но с оговоркой - я все еще в неведении, несмотря на полезный совет, содержащийся в этом ответе