dagre – Graph layout for JavaScript by Chris Pettitt.
From the webpage:
Dagre is a JavaScript library that makes it easy to lay out directed graphs on the client-side.
Key priorities for this library are:
Completely client-side computed layout. There are great, feature-rich alternatives, like graphviz, if client-side layout is not a requirement for you.
Speed. Dagre must be able to draw medium sized graphs quickly, potentially at the cost of not being able to adopt more optimal or exact algorithms.
Rendering agnostic. Dagre requires only very basic information to lay out graphs, such as the dimensions of nodes. You’re free to render the graph using whatever technology you prefer. We use D3 in some of our examples and highly recommend it if you plan to render using CSS and SVG.
Note that dagre is current a pre-1.0.0 library. We will do our best to maintain backwards compatibility for patch level increases (e.g. 0.0.1 to 0.0.2) but make no claim to backwards compatibility across minor releases (e.g. 0.0.1 to 0.1.0). Watch our CHANGELOG for details on changes.
You are delivering content to the client side, yes?
I don’t have a feel for what “medium sized graphs” are the target so would appreciate comments on your experiences with this library.
One of the better readmes I have seen on GitHub.
I first saw this in a tweet by Chris Diehl.