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.


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

Generate an undirected hexagonal lattice graph.

  • 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).


The generated hexagonal lattice graph.

Return type:



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)