School of Computing

Automatically drawing Euler diagrams with circles

Gem Stapleton, Jean Flower, Peter Rodgers, and John Howse

Journal of Visual Languages and Computing, 23(3):163-193, June 2012 [doi].


Euler diagrams are used for visualizing categorized data. These categories, together with information about when categories share some datum, can be turned into a succinct diagram description from which an Euler diagram can be generated. Closed curves represent the categories and the relationships between the curves (such as containment) correspond to relationships between the categories (such as subset). A range of automated Euler diagram drawing methods have been proposed but they often produce diagrams that are aesthetically unpleasing, can be computationally complex and most of them cannot draw a diagram for some (often many) given collections of categories. One such method is capable of drawing aesthetically pleasing Euler diagrams, using only circles, and is computationally efficient (being of polynomial time complexity) but it applies to a very restricted subset of collections of categorized data. This paper substantially extends that method so it can always draw an Euler diagram, that is it applies to all collections of categorized data. In particular, we identify a class of diagram descriptions that can be drawn with circles, generalizing previous work. For diagram descriptions outside of this class, we define transformations that can be used to turn them into descriptions inside the drawable with circles class. We demonstrate how such transformations can be done in a general, a process during which many choices must be made. Further, we provide strategies for making particular choices which ensure desirable properties, such as curve containment, are preserved. We have provided a software implementation of the drawing method, which is freely available from

Download publication 2708 kbytes (PDF)

Bibtex Record

author = {Gem Stapleton and Jean Flower and Peter Rodgers and John Howse},
title = {Automatically Drawing {E}uler Diagrams with Circles},
month = {June},
year = {2012},
pages = {163-193},
keywords = {Euler Diagrams, Venn Diagrams},
note = {},
doi = {10.1016/j.jvlc.2012.02.001},
url = {},
    publication_type = {article},
    submission_id = {14652_1336142789},
    journal = {Journal of Visual Languages and Computing},
    volume = {23},
    number = {3},
    publisher = {Elsevier},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014