1. 2D Layouts

1.1. igraph_layout_random — Places the vertices uniform randomly on a plane.
1.2. igraph_layout_circle — Places the vertices uniformly on a circle, in the order of vertex ids.
1.3. igraph_layout_graphopt — Optimizes vertex layout via the graphopt algorithm.
1.4. igraph_layout_fruchterman_reingold — Places the vertices on a plane according to the Fruchterman-Reingold algorithm.
1.5. igraph_layout_kamada_kawai — Places the vertices on a plane according the Kamada-Kawai algorithm.
1.6. igraph_layout_reingold_tilford — Reingold-Tilford layout for tree graphs
1.7. igraph_layout_reingold_tilford_circular — Circular Reingold-Tilford layout for trees
1.8. igraph_layout_grid_fruchterman_reingold — Force based layout generator for large graphs.
1.9. igraph_layout_lgl — Force based layout algorithm for large graphs.

Layout generator functions (or at least most of them) try to place the vertices and edges of a graph on a 2D plane or in 3D space in a way which visually pleases the human eye.

They take a graph object and a number of parameters as arguments and return an igraph_matrix_t, in which each row gives the coordinates of a vertex.