### Drawing Graphs in Euler Diagrams [chapter]

Paul Mutton, Peter Rodgers, Jean Flower
2004 Lecture Notes in Computer Science
We describe a method for drawing graph-enhanced Euler diagrams using a three stage method. The first stage is to lay out the underlying Euler diagram using a multicriteria optimizing system. The second stage is to find suitable locations for nodes in the zones of the Euler diagram using a force based method. The third stage is to minimize edge crossings and total edge length by swapping the location of nodes that are in the same zone with a multicriteria hill climbing method. We show a working
more » ... ersion of the software that draws spider diagrams. Spider diagrams represent logical expressions by superimposing graphs upon an Euler diagram. This application requires an extra step in the drawing process because the embedded graphs only convey information about the connectedness of nodes and so a spanning tree must be chosen for each maximally connected component. Similar notations to Euler diagrams enhanced with graphs are common in many applications and our method is generalizable to drawing Hypergraphs represented in the subset standard, or to drawing Higraphs where edges are restricted to connecting with only atomic nodes. The system described here links graph drawing and Euler diagram drawing into a system for drawing graph-enhanced Euler diagrams. In a graph-enhanced Euler diagram, we have a graph, an underlying Euler diagram, and a mapping from the graph nodes to the zones of the Euler diagram. In any drawing, the nodes are required to be included in the corresponding zone. We are, in effect, embedding graphs in Euler diagrams. Our approach is to draw the Euler diagram first, and later add the graph in a way that minimizes the number of edge crossings and total edge length in the graph. There are various application areas which can be visualized by such structures and so benefit from the work described here such as databases [3] and file system organization [2] . However, we show our system being used with a form of constraint diagram, the spider diagram [9] . This application area is in particular need of automatic layout for the diagrams because automatic reasoning algorithms produce abstract diagrams that have no physical layout. An Euler diagram is a collection of contours (drawn as simple closed curves), arranged with specific overlaps. The parts of the plane distinguished by being contained within some contours and excluded from other contours are called zones. The essential structure of an Euler diagram is encapsulated by an abstract Euler diagram. An abstract Euler diagram is made up of information about contours and zones. Contours at the abstract level are not drawn, but have distinguishing contour labels. Zones are not parts of the plane, but a partition of the contour set into containing contours and excluding contours. To clarify these concepts, Figure 1 shows, first, an abstract Euler diagram, and, second, a drawn representation of the same Euler diagram. The shaded zone in the drawn diagram corresponds to the abstract zone {a}.