Layout Algorithms

NodeXL uses the selected layout algorithm to lay out the graph's vertices when the graph is shown, and when some or all of the graph's vertices are laid out again. The available layout algorithms are listed in the table below.

To select the layout algorithm that NodeXL uses, do one of the following:
Layout Algorithm Description
Fruchterman-Reingold

This is a force-directed algorithm that attempts to minimize edge crossings.

This algorithm is iterative, which means that if you lay out the graph again, the current vertex locations are used as starting points for the new calculations.

You can set various options for the Fruchterman-Reingold layout algorithm using Layout Options.

If the Edges worksheet has an Edge Weight column, the Fruchterman-Reingold layout algorithm uses the column's values to determine the attractive forces between vertices. An edge with a larger Edge Weight exerts a stronger attractive force on its vertices.

Edge Weight column values should be greater than zero. If a value is zero or less, it is ignored and 1.0 is used instead.

Harel-Koren Fast Multiscale

This is a force-directed algorithm that attempts to minimize edge crossings.

This algorithm is faster than Fruchterman-Reingold when used with graphs that have a large number of vertices. It is not iterative, which means that the current vertex locations are ignored when calculating new locations.

Circle Evenly places the vertices on the circumference of a circle.
Spiral Evenly places the vertices along a spiral.
Horizontal Size Wave Evenly places the vertices along a sine wave that runs from left to right.
Vertcal Sine Wave Evenly places the vertices along a sine wave that runs from top to bottom.
Grid

Places the vertices on an evenly-spaced grid.

The grid dimensions are selected to optimally fill the Graph Pane.

Polar

Each vertex's location is specified by polar coordinate columns on the Vertices worksheet.

To lay out the graph using polar coordinates that you specify, do the following:

  1. Select the Polar layout algorithm.
  2. Show the Layout column group. This makes the Polar R and Polar Angle columns visible on the Vertices worksheet.
  3. Hover the mouse over the Polar R column header for instructions on how to use the columns.
Polar Absolute The Polar Absolute layout algorithm is similar to the Polar layout algorithm, but the units of the Polar R column are different. The instructions that pop up when you hover the mouse over the Polar R column (see Polar, above) explain the difference.
Sugiyama Attempts to minimize edge crossings by arranging the vertices in layers.
Random

Places the vertices at random locations.

Randomizing the vertex locations can be useful when used in conjunction with the Fruchterman-Reingold layout algorithm, which uses the current vertex locations as a starting point for its calculations. If you want the Fruchterman-Reingold algorithm to start from scratch, lay out the graph with the Random layout algorithm, then switch to Fruchterman-Reingold and lay it out again.

None

Leaves each vertex exactly where it is.

The None layout algorithm is useful if you are happy with the graph's current vertex locations, but you need to edit the workbook and refresh the graph. Normally, refreshing the graph reads the workbook and lays out the graph. If you select the None layout algorithm, you can edit a vertex color, for example, and then refresh the graph without affecting the vertex locations.


More Information