List of graph layout algorithms I am a newbie in visualizations. Nowadays, I regularly come across graph-based data that I need to visualize. However, different type of data requires different layouts. And as I do not have enough experience, I am not aware of the different graph layout algorithms.
I would like to have a list of graph layout algorithms with pseudo-code or code (in any language) that I can refer to when implementing some graph.
 A: *

*Spring-Electric Force Directed
Placement algorithm as explained in Efficient and High Quality
Force-Directed Graph Drawing by Yifan Hu.

*Buchheim Tree Drawing

*Spring/Repulsion Model

*Stress Majorization

*Spectral Layout Algorithm


and many more with Julia code here
I am trying to write some of it using Java. There is a paper titled Graph Drawing and Analysis Library and Its Domain-Specific Language for Graphs’ Layout Specifications by
Renata Vaderna, Željko Vuković, Igor Dejanović, and Gordana Milosavljević in which they compare their library with other libraries like JUNG.
There is enough code there to get you started.
A: If you are interested in the algorithms themselves rather than software which will just do it (of which there are many), check out some of the papers of Yifan Hu, which give a nice introduction to certain types of algorithms (not exhaustive).


*

*Algorithms for visualizing large networks

*Efficient and high quality graph drawing
A: Gibson, Faith, and Vickers wrote a paper comparing different relational graph layout techniques, analyzing where they excel and where they falter. While they don't contain pseudocode, they provide a good overview that you can then use to search for specific algorithms.
A: You can start with Wikipedia, the R package igraph has several algorithms that might provide nice leads/references, including layout.random, layout.circle, layout.sphere, layout.fruchterman.reingold, layout.kamada.kawai, layout.spring, layout.reingold.tilford, layout.fruchterman.reingold.grid, layout.lgl, layout.svd, and layout.norm
