Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

free visual editor for graph (dot) files [closed]

Is there a free (as in "cheers"), linux-compatible, interactive visual editor for graphviz or other graphs? aptitude seems to be drawing a blank.

edit: "cheers" means both "beer" and "speech". meta-edit: I guess it should be "free as in beach".

edit 2: Maybe a suitable svg editor would be a more realistic goal. I basically want something that can be used to conveniently create a collection of labeled shapes and lines which connect them. Actually it would probably make more theoretical sense to extract the graph from this data, since it includes both semantic data (the graph) and presentation data (the way it's arranged on the screen, the colours used, etc). Is there a way to lay out labeled shapes conveniently with inkscape or some other free vector graphics editor? I really need rearranging of the nodes, and (re)flowing of the text in them, to happen with maximum convenience.

I've also realized that this is really a superuser question. I was going to repost it over there when I found an existing question that seems likely to provide me with an answer: dia.

edit 3: dia seems useful except that it doesn't seem to be possible to get the textual contents of node objects to wrap in any useful manner (ie any way other than by inserting manual line breaks). This is kind of a dealbreaker, since it screws most of the convenience factor that's my incentive to do things this way rather than with a text editor or a pen and paper. But it supports some sort of event model and Python-based scripting, so I'm going to dig around a bit and see if I can use python to wrap the text in response to content changes. Unless one of you lovely people has a better idea..? Basically I want to have the option to explicitly set the node size via GUI interaction, and have the contents wrap and rescale (within a certain range of font sizes) to fit it. Rich text would be pretty useful.

In other words, this is actually a valid SO question at this point, since it appears to require coding.

like image 279
intuited Avatar asked Aug 08 '10 08:08

intuited


1 Answers

To save time those eager to try existing programs handling DOT graphs:

  • dotty can display DOT graphs and with little luck you can move its nodes with a mouse, nothing more, and you can easily segfault as a bonus (I tried latest stable graphviz)
  • lefty is only a special-purpose language interpreter used by dotty, nothing to look at
  • KGraphEditor is an empty wishful project (a QT window and a few buttons)
  • gvedit is not really a graph editor: it provides a simple text editor and you hit F5 to run a layout tool and open a picture; you can actually get more functionality from configuring your own favourite text editor
  • grappa is an abandoned java applet, which I failed to run
  • interestingly, dia can export to DOT ("PyDia DOT Export"), but due to its buggy printing, you have to post-process the files to use them
  • graphedit can read in DOT a graph and you can move its nodes around and change their colors
  • Eclipse people started working on DOT support in GEF4, so it can display DOT graphs
  • GraphUI has a very interesting demonstration video, but beware: although it might seem that the graph is being created by clicking and dragging, in reality all editing happens through the keyboard, using shortcuts. On the plus side, contextual instructions are always available showing which shortcuts do what.
  • DotEditor claims a tree editor, modifying node attributes/color/shape with mouse.

The graph editors mentioned in other answers, yEd (a Java application) and JointJS/Rappid (a JaveScript thing) apparently have nothing to do with DOT (tried both).

I believe there exist no working DOT-handling graph editor out there at all.

like image 189
Dawid Toton Avatar answered Oct 12 '22 16:10

Dawid Toton