Note

This is the documentation for the current state of the development branch of rustworkx. The documentation or APIs here can change prior to being released.

rustworkx.generators.hexagonal_lattice_graph#

hexagonal_lattice_graph(rows, cols, multigraph=True, periodic=False, with_positions=False)#

Generate an undirected hexagonal lattice graph.

Parameters:
  • rows (int) – The number of rows to generate the graph with.

  • cols (int) – The number of columns to generate the graph with.

  • multigraph (bool) – When set to False the output PyGraph object will not be not be a multigraph and won’t allow parallel edges to be added. Instead calls which would create a parallel edge will update the existing edge.

  • periodic (bool) – When set to True the boundaries of the lattice will be joined to form a periodic grid. Requires cols to be even, rows > 1, and cols > 1.

  • with_positions (bool) – When set to True each node will be assigned a pair of coordinates (x, y) as a weight. This embeds the nodes in the plane so that each hexagon is regular (with side length 1).

Returns:

The generated hexagonal lattice graph.

Return type:

PyGraph

Raises:

TypeError – If either rows or cols are not specified

import rustworkx.generators
from rustworkx.visualization import mpl_draw

graph = rustworkx.generators.hexagonal_lattice_graph(2, 2)
mpl_draw(graph)
../_images/rustworkx.generators.hexagonal_lattice_graph_0_0.png