3

I've been using GraphViz to relationships between software components, and getting some fairly decent results. On the web, I would prefer something like cytoscape because the user experience is better, and it would give me potential for a richer experience where a user could manipulate the graph by adding nodes, etc.

Given this graph, rendered by GraphViz, is it possible to achieve a similar layout with Cytoscape. It is choosing fairly optimal node layout and edge routing to avoid or minimize any overlaps and still retain readability, using an auto layout directed graph. The only constraint that was applied to the graph was to rank all components that have an "installed" relationship to them at the bottom. enter image description here

Is this possible to achieve with Cytoscape?

Jeremy
  • 44,950
  • 68
  • 206
  • 332
  • It looks like application of "Sugiyama's algorithm for layered graph drawing". Some options that come to my mind are **1)** implement it as [custom layout](http://js.cytoscape.org/#layouts) **2)** use [JavaScript version of GraphViz](http://stackoverflow.com/questions/6344318/pure-javascript-graphviz-equivalent) **3)** check existing implementations in another libraries like [mbostock/d3](https://github.com/mbostock/d3/issues/349). I'm curious what will your [self-answer](http://stackoverflow.com/help/self-answer) recommend – xmojmr Jan 21 '15 at 06:58

1 Answers1

2

The Dagre layout organises trees well.

For more information, please refer to the Dagre project itself.

maxkfranz
  • 11,896
  • 1
  • 27
  • 36