Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What good graph layouting, editing & drawing tools are there?

Tags:

graph

While doing software development I periodically come across the need to draw some graphs for my own use. Sometimes they illustrate relationships in a DB, sometimes they illustrate relationships of code files or classes, other times there are other objects... Anyway, the basic need is the same - I've got some set of nodes & edges that I would like to lay out neatly, add some informative colors/texts/styles and optionally print it out in the end (over several pages if necessary).

Is there a tool that would allow me to do this easily? Features that I would expect:

  • Import basic node/edge information from a file (the raw data that I have extracted from the DB/code/whatever);
  • Automatically layout some or all nodes in the graph;
  • Allow to manually adjust node and edge placements;
    • Node group manipulation features (relayout, rotate, scale) would also be very nice;
  • Ability to manipulate visual aspects of the picture - change lines, colors and fonts; add arbitrary texts and pictures (possibly attaching them to nodes/edges);
  • Ability to modify node contents (sometimes I need just a simple text; sometimes it's a little table; sometimes it's a bulleted list; etc.)
  • Save/load/print (including to several pages with overlapping areas for gluing together)/export to image (both vector and raster with anti-aliasing).

Added: Here is a sample graph I tried to visualise most recently. I'd like to get a useable layout that needs minimal tweaking before it can be printed.

like image 825
Vilx- Avatar asked Jun 30 '10 10:06

Vilx-


1 Answers

Graphviz is a long-standing popular one. I really like yEd's layout engine, which I feed GML data to (but it supports other formats).

like image 182
Mau Avatar answered Sep 23 '22 15:09

Mau