This repository contains tools and resources for generating, drawing and exporting diverse families of graphs in several formats (DIMACS, LaTeX, etc).
./graphs.py name parameters [options]Options:
-o path|-output path: exports the graph to a file. Default: standard output.-f name|-format name: selects the format of the graph:c,dimacs,haskell,javascript,prolog,python,numpy. Default:numpy.
A complete graph is an undirected graph in which every pair of distinct vertices is connected by a unique edge.
./graphs.py complete nwhere:
n>0
![]() |
![]() |
![]() |
|---|---|---|
| K(10) | K(11) | K(12) |
The file complete.tex defines a LaTeX command \complete{n} for drawing any complete graph with TikZ.
A friendship graph F(n) is a planar undirected graph with 2n+1 vertices and 3n edges, constructed by joining n copies of the cycle graph C(3) with a common vertex.
./graphs.py friendship nwhere:
n>0
![]() |
![]() |
![]() |
|---|---|---|
| F(3) | F(4) | F(5) |
The file friendship.tex defines a LaTeX command \friendship{n} for drawing any friendship graph (for n > 1) with TikZ.
The generalized Petersen graphs are a family of cubic graphs formed by connecting the vertices of a regular polygon to the corresponding vertices of a star polygon. They include the Petersen graph and generalize one of the ways of constructing the Petersen graph.
./graphs.py petersen n kwhere:
n>0k>0k<n/2
![]() |
![]() |
![]() |
|---|---|---|
| GP(5, 1) | GP(5, 2) | GP(7, 1) |
The file petersen.tex defines a LaTeX command \petersen{n}{k} for drawing any generalized Petersen graph with TikZ.
Johnson graphs are a special class of undirected graphs defined from systems of sets. The vertices of the Johnson graph J(n, k) are the k-element subsets of an n-element set, where two vertices are adjacent when the intersection of the two vertices (subsets) contains (k-1)-elements.
./graphs.py johnson n kwhere:
n>0k>0k<n
![]() |
![]() |
|---|---|
| J(4, 1) | J(4, 2) |
The windmill graph Wd(k,n) is an undirected graph constructed for k > 1 and n > 1 by joining n copies of the complete graph K(k) at a shared universal vertex.
./graphs.py windmill k nwhere:
k>1n>1
![]() |
![]() |
|---|---|
| Wd(4, 6) | Wd(9, 5) |
The file windmill.tex defines a LaTeX command \windmill{k}{n} for drawing any windmill graph with TikZ.












