I'd like to take a simple graphviz input file (or alternatively something as simple as the X -> Y notation) and have a graph where I can reorganize the positioning of the nodes without having to specify the coordinates by hand. Is there there a way to do this?


If you run graphviz in SVG output mode, you'll get an SVG file, which you can then edit easily (e.g., with Inkscape).

dot -Tsvg foo.dot > foo.svg

or neato, or whatever. -Tfig (xfig), -Tmif (FrameMaker) -Tps (PostScript), and -Tdia (dia, Linux/GTK diagraming tool) may also work, depending on what software you have available. A complete list of output formats is available.

Of course, the point of graphviz is that you don't have to lay it out by hand... have you looked at some of the graphviz options? They may alleviate whatever problem you're having.


Depending on your needs for editing you can do:

neato -Tsvg pollo.graph > pollo.svg

And then you can edit the file with inkscape, for instance.

The problem is thatt it doesn't maintain connections between objects.

  • dia format maintains connections – derobert Jul 22 '09 at 5:27
  • I've tried and it doesn't by default, you have to connect them yourself. – chmeee Jul 22 '09 at 5:35
  • Umm, I just tried it before posting that comment. I used dot; maybe neato is different... graphviz version 2.20.2 here. – derobert Jul 22 '09 at 6:48
  • 1
    strange, I have the same graphviz version but dia does not connect, not even with dot... I'll try some other files later – chmeee Jul 22 '09 at 9:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.