This is the first force-directed layout method for Euler diagrams. Given an Euler diagram, eulerForce improves the layout of the diagram in relatively fast time, such that the diagram is intuitive, easier to comprehend and to use. Below is an example.

The diagram on the left and that on the right depict the same set relationships. Yet, the layout on the right is more intuitive and easier to comprehend than that on the left as the curves are smooth and easily distinguishable. The diagram on the left was generated by a current method that automatically draws Euler diagrams that merely depict the required set relations. Using a physical system with a number of attractive and repulsive forces similar to those of a spring embedder used in graph drawing (the figure at the centre), eulerForce transforms the diagram on the left to that on the right in relatively fast time.

eulerForce example

For more details about the layout method employed by eulerForce, please refer to our paper (also our extended abstract and poster).
Please acknowledge eulerForce whenever used (see the Licensing Terms).




file executable / source comments date
eulerForce_0.9.0.jar executable the executable to run eulerForce v0.9.0 on Windows or Mac OS X
(not tested on other operating systems)
Nov 25, 2013 source the source code for eulerForce v0.9.0 Nov 25, 2013
NOTE: when you download any of these files, you are agreeing to eulerForce's Licensing Terms
Getting Started

  1. Download and install Java version 6.0 or greater on your machine.
  2. Download eulerForce_0.9.0.jar.
  3. Double click on the downloaded eulerForce_0.9.0.jar to run eulerForce.
     Running on Mac OS X and getting the following message?
     Open System Preferences and go to Security & Preferences.
     If you get a message like the one in the red, dashed box below
click on Open Anyway and then click on Open when you get the following.
     Else, click on the lock in the bottom left corner, marked with a red, dashed box below
enter your Mac OS X account password
select Anywhere for Allow apps downloaded from and click on Allow From Anywhere when the warning message appears.
Finally click on the lock in the bottom left corner, close the Security & Preferences window, and try to run eulerForce by double clicking on the downloaded eulerForce_0.9.0.jar.
If you get the follow message box, click Open to run eulerForce.
Running eulerForce: reference guide
* the images below illustrate the interface when run on Windows
When eulerForce starts, the following window opens. If the menu bar does not show, resize the window.
Load a diagram whose layout needs to be improved.
Choose Utilities > Load a Random Wellformed Euler diagram to load a random Euler diagram with a 2, 3, 4 or 5 curves.
These random diagrams are the same as those generated by Rodgers et al.'s [2008] automatic drawing method for the required set of curves and the required overlaps between the curves.
Alternatively, choose  File > Open  and load a diagram from a .edp file ('Euler Diagram with Polygons' file).
An Euler Diagram with Polygons file with extension .edp, such as this example (use a text editor to open or edit the file), defines the diagram to be loaded as follows:


   0 b c d ac bc cd abc

Each of the lines right after the heading CONTOURS defines the properties of a polygon (representing a curve in the diagram) as
        label |
followed by
        x-coordinate of vertex i | y-coordinate of vertex i |
for each vertex i of the polygon.
The polygons should be labelled a, b, c, ..., and the numbers defining the vertices of the polygons should be rounded to the nearest whole number.
Once a diagram is loaded, for instance
choose  Layout > Force-Directed  or  press key  F  to start the layout improvement process.
If on termination Valid is displayed below the diagram, as in
the final improved layout depicts the required curve overlaps as those in the initial layout.
Else, the layout improvement process would have failed to maintain the required curve overlaps of the initial layout.
You can then choose:
  • File > New:   to clear the window and remove the current diagram;
  • File > Save:   to save the current displayed diagram to an 'Euler Diagram with Polygons' file (.edp);
  • File > Export:   to export the current displayed diagram to a 'PNG' image file (.png);
  • View > Show Layout Description and Validity:   to show or hide the details shown below the diagram;
  • View > Show Stopwatch:   to show or hide the time taken to improve the layout;
  • View > View Initial Layout:   to view the initial layout of the current loaded diagram;
  • View > View Final Layout:   to view the improved layout of the current loaded diagram;
Alternatively, choose  Utilities > Load a Random Wellformed Euler diagram  or  File > Open  to load a new diagram.
Licensing Terms
Copyright logo  
Copyright © 2013, Luana Micallef and Peter Rodgers. All rights reserved.
GNU GPLv3 logo  
eulerForce is free and open source software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
eulerForce is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A copy of the GNU General Public License is provided with eulerForce (in a file named 'COPYING'). Alternatively, see
Creative Commons License   All the material on this page (including, for instance, eulerForce's logo, images, and the collection of diagrams provided with the source) is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Please cite eulerForce as follows
Luana Micallef and Peter Rodgers (2014). eulerForce: Force-directed Layout for Euler Diagrams. Journal of Visual Languages and Computing, 25(6): 924-34. doi:10.1016/j.jvlc.2014.09.002.
whenever you use eulerForce and whenever you reuse or adapt any of the material provided on this page.
Other Drawing Tools - you might be interested in
eulerAPE The first automatic area-proportional Euler diagram drawing method that uses ellipses. It generates an accurate diagram for most region areas.
eulerGlyphs The first automatic diagram drawing tool that draws area-proportional Euler diagrams, glyph representations and hybrid visualizations combining both Euler diagrams and glyphs.

For any questions, please contact Luana Micallef or Peter Rodgers (emails).

School of Computing
University of Kent
Canterbury, UK
Copyright © 2013, Luana Micallef and Peter Rodgers. All rights reserved.

Last updated: January 6, 2015