Flat graph / map implementations (with attachments)

For the purposes of this message, using a flat graph or a planar map , I will mean an abstract graph that can be drawn in a plane (or equivalently on a sphere) along with the circular order of edges at each vertex in accordance with a specific pattern. This additional information defines the attachment to the sphere (up to the movement of the vertices and edges in such a way that they never intersect with any other vertices / edges). I want to allow loops and multiple edges.

For example, suppose we plotted as follows. Draw two vertices (A and B) in the plane along with two edges connecting these two. Two edges together form a simple closed \ gamma curve. Now add two more vertices: A 'and B' and connect A and A 'to the edge, as well as B and B'.

This abstract graph will have two nonequivalent embeddings, according to which the vertices A 'and B' are separated by a \ gamma curve or not.


My question is: Is there a Python package that implements such flat graphics?

I'm interested in a package that can create a drawing of a flat graph (taking into account the attachment, of course), as well as perform some standard operations (for example, specify the number of faces, form a double graph, etc.)

If such a package does not exist in Python, I would also be interested in implementations in other languages.


, , . , , . .

+5
1

, , . cython c (++?), . networkX.

0

All Articles