2016-04-26 5 views
1

У меня есть график, который я записал как файл DOT. Я выбрал это, потому что его довольно легко читать и писать программно, и у меня есть достаточное количество инструментов, которые используют DOT-файл в качестве входных данных.Ручная компоновка графиков, описанных в формате graphviz (DOT)

Graphviz делает приличную работу, рисуя его, но не очень хорошо. (И это все, что я намереваюсь делать, насколько я знаю.)

Я ищу и не могу найти инструмент, который будет читаться в файле DOT, и позвольте мне вручную перетащить вершины и края I уже описано в файле DOT, аналогичном https://www.draw.io.

То, что я действительно не хочу делать, это вручную ввести граф, который я уже записал (или вычислен как вывод из программы или что-то еще) в draw.io, а затем два разных файла, которые могут или не может иметь один и тот же набор ребер и вершин из-за ошибок транскрипции.

В идеале, я хочу что-то, что будет писать собственный файл только метаданных о том, где вещи нарисованы, без добавления пута в файл DOT, так что инструментарий, который у меня есть, все еще работает, и я все еще могу использовать это как унифицированное представление графика между множеством различных задач.

ответ

0

Вот что я сделал, когда я хочу, чтобы вручную настроить расположение узлов и ребер, которые нарисованный точкой:

  • сказать точку для создания SVG изображения: dot -Tsvg <graph_text.dot> output_image.svg
  • использовать редактор SVG такие, как Inkscape или Sketch (два, которые я использовал), чтобы открыть SVG

При открытии SVG в редакторе изображений, который может обрабатывать формат SVG, каждый узел и ребро в график будет независимым компонентом перетаскивания.