• Public
  • Public/Protected
  • All

Class SpiralLayout Extension

This is an extension and not part of the main GoJS library. Note that the API for this class may change at any time. If you intend to use an extension in production, you should copy the code to your own source directory. Extensions can be found in the GoJS kit under the extensions (for loading via script tags),extensionsTS (UMD modules), or extensionsJSM (ES6 modules) folders. See the Extensions intro page for more information.


A custom Layout that lays out a chain of nodes in a spiral.

This layout assumes the graph is a chain of Nodes, spacing controls the spacing between nodes.

If you want to experiment with this extension, try the Spiral Layout sample.


Inherited Members


  • Create a minimal layout that only positions Nodes that do not have a location.


    • Optional init: Partial<Layout>

      Optional initialization properties.

    Returns SpiralLayout


  • Gets or sets whether the spiral should go clockwise or counter-clockwise.

    The default value is true.

  • Gets or sets the radius distance.

    The default value is NaN.

  • Gets or sets the spacing between nodes.

    The default value is 100.


  • Copies properties to a cloned Layout.


    Returns void

  • Compute the effective diameter of a Node.


    Returns number

  • This method actually positions all of the Nodes, assuming that the ordering of the nodes is given by a single link from one node to the next. This respects the spacing property to affect the layout.


    Returns void