D3.js: Understanding the Force Layout
medium.com
medium.com
A static graph with a sane layout is what I'm after - anyone know of an efficient way to calculate the x and y positions ahead of rendering?
Thanks Obi Wan, you're my only hope.
Another key is to update positions of nodes and links only at calculation end, rather than at each tick. This means that user may have to wait a couple seconds before seeing the graph, but will save your browser from having to update the DOM at each tick (which could be thousands of times across thousands of elements).
But the best is still if you don't need to re-calculate the positions (no new nodes ever show up, and no nodes are ever deleted), going with what me_bx said.
Other basic layouts are the circular and random ones [3].
Gephi [4] has a variety of graph algorithms, about 10.
[1] http://journals.plos.org/plosone/article?id=10.1371/journal....
[3] http://www.lexmath.com/grafos/sigma/ejemplos/a_plugin_exampl...
Edit: added gephi to the list.
Try to read this paper. They mentioned several graph layout algorithms.I think you can also try to ask them the source code. http://www.cs.ubc.ca/labs/imager/tr/2006/Archambault_TopoLay...
Also this paper might be interesting as well. It concludes and categories graph layouts algorithms. Depending what information you want to visualize and what the data looks like, you can pick up different algorithms. http://profs.etsmtl.ca/mmcguffin/research/2012-mcguffin-simp...