Skip to main content
`Ctrl`+`K`

# shell_layout

shell_layout(G, nlist=None, rotate=None, scale=1, center=None, dim=2)

  Position nodes in concentric circles.

  Parameters:
    G NetworkX graph or list of nodes

      A position will be assigned to every node in G.

    nlist list of lists

      List of node lists for each shell.

    rotate angle in radians (default=pi/len(nlist))

      Angle by which to rotate the starting position of each shell relative to the starting position of the previous shell. To recreate behavior before v2.5 use rotate=0.

    scale number (default: 1)

      Scale factor for positions.

    center array-like or None

      Coordinate pair around which to center the layout.

    dim int

      Dimension of layout, currently only dim=2 is supported. Other dimension values result in a ValueError.

  Returns:
    pos dict

      A dictionary of positions keyed by node

  Raises:
    ValueError

      If dim != 2

  Notes

  This algorithm currently only works in two dimensions and does not try to minimize edge crossings.

  Examples

      >>> G = nx.path_graph(4)
      >>> shells = [[0], [1, 2, 3]]
      >>> pos = nx.shell_layout(G, shells)