Title: Drawing Graphs in Euler Diagrams
1Drawing GraphsinEuler Diagrams
- Automatic layout of graph-enhanced Euler diagrams
2Terminology
3Euler and Venn Diagrams
Euler diagram
Euler diagram Venn diagram
4Graph-Enhanced Euler Diagrams
5Initial Layout of Euler Diagram
- Fully automatic
- Polygonal contours
- Correct
- Poor layout
Ref Generating Euler Diagrams (Flower Howse)
6Refined Layout of Euler Diagram
- Multicriteria hillclimbing
- Bezier smoothing
- Quite slow
Ref Layout Metrics for Euler Diagrams (Flower,
Rodgers, Mutton)
7Placement of Nested Diagrams
8Well-formed Euler Diagrams
- Zones
- We do not allow disconnected zones
- Modelled by a sequence of line segments
- Simply connected if isotopic to a disc
- Can also be non-simply connected
9Initial Node Placement
Get bounding box of containing zone Pick random
y-coordinate to draw horizontal line Build an
ordered set of crossing points Pick a random
crossing pair Place the node randomly between the
chosen pair
10Why Random Initial Placement?
When each zone contains more than one node, the
random scattering is useful when applying the
force-directed refinement method.
11Refinement of Node Placement
Force-directed refinement moves nodes away from
zone boundaries
12Ensuring Node Separation
Repulsive forces acting between nodes ensures
node-node separation
13Force Model
- Repulsive force between two nodes
- M c/d
- Repulsive force between a line segment and a node
- M2 lc/d2
- M set of nodes in the zone
- c constant
- d distance
- l length of segment
14Adding Edges
The graphs are completed by adding edges to the
diagram after the nodes have been placed
15Edge Layout
- Desirable characteristics of graphs
- Reduced number of edge crossings
- Reduced overall edge length
- For zones containing more than one node, we can
think of their locations as candidate locations - Swapping the location of pairs of nodes does not
change the meaning of the diagram, but can help
achieve the desirable characteristics
16Quality Metrics
Crossings 0.0000 Length 0.0000 Total 0.0000
Crossings 1.0000 Length 0.1143 Total 1.1143
Crossings 0.0000 Length 0.0940 Total 0.0940
Crossings 0.0000 Length 0.1515 Total 0.1515
17Example of Node Swapping
18Other Supported Edge Types
Our implementation can also detect edge crossings
between more complicated types of edges
19Embedding without Smoothing
20Embedding with Smoothing
21Good and Bad Layouts
Good Layouts
Bad Layout
Nodes trapped in local a minima while the force
model is being simulated Swapping node locations
cannot remove the edge crossing
22Automated Proofs
- Our tool can generate visualizations of automatic
proof sequences using spider diagrams
23Summary and Further Work
- We have created a tool for automatic layout of
graphs in Euler diagrams - This can be applied to automatically generated
proof sequences for ease of understanding - We have since created a system to animate changes
to preserve the users mental map and to maintain
structural similarity