This page contains brief instructions describing how to use the DrawEuler Application and the features that are available. DrawEuler is a program that generates area-proportional Euler and Venn diagrams for any number of sets (curves).

DrawEuler is Copyright 2004-2006 by Stirling Chow (the author). You are permitted to run the application for the purposes of testing, but may not use the diagrams for any purpose without written consent from the author. DrawEuler is research software and the author makes no guarantees concerning its usability or safety.

Thanks for giving DrawEuler a try. If you'd like to send me some feedback or inquire about a version of DrawEuler that produces diagrams in a number of usable formats (e.g., PowerPoint, bitmap, PostScript, and XFig), please feel free to contact me.

  1. Launch the application. Your browser must support the Java Network Launching Protocol (JNLP, most do). DrawVenn requires Java 1.5+; if you do not have a sufficient version of Java, JNLP will download one from Sun's site. If everything is working, the following window will appear:

    If you do not have a suitable browser environment, please contact me, and I'll send you a standalone Java version.

  2. Select File|New.... The following window will appear:

    For a Venn diagram, enter the number of sets. For an Euler diagram, enter a space-seperated list of regions defined by alphabetically-labelled curves. For example, the input a b c ac bc abc would create an Euler diagram that results from removing region ab from 3-Venn.

  3. Press OK. The following window will appear:

    The drop-down list specifies which method to use for generating the structure of the Euler diagram:

    Anthony Edwards' general n-Venn diagram generator. This is usually the most suitable generator since it maximizes the number of vertices.
    The Boolean lattice is decomposed into symmetric chains which are arranged radially to produce an Euler diagram. The unwanted regions are then removed from each chain.
    The unwanted regions are removed from the Boolean lattice before the chains are produced. The chains are then arranged radially to produce an Euler diagram.
  4. Press OK. The following window will appear:
  5. The drop-down list specifies how the free path of each face expands to create the required area:

    Differential Growth
    The amount of expansion along each ray defined by the fixed path can vary. The goal is to produce as smooth (i.e., convex) a free path as possible while achieving the required area.
    Uniform Growth
    The distance of the free path from the fixed path along each ray is the same. The result is that the free path has the same shape as the fixed path except for the segments at the endpoints. This tends to make the diagram most jagged than necessary.
    Convex Static
    An implementation of Differential Growth where the area of each region is chosen so as to make the free path convex. This is an experimental way of drawing standard Euler diagrams without concern for area-proportionality.
  6. Press OK. The following window will appear:
  7. This window shows an area-proportinal Euler diagram where each region has equal area (i.e., each region has an area of 50 units).

    If you left-click on a bounded region, it will be hilighted and the frame on the right will show the region's labels and size:

    The slider can be used to adjust the selected region's size according to the layout algorithm you selected (e.g., Differential Growth). After adjusting a region's size, the diagram is rescaled to fit the window:

    To remove the selected region, set its size to 0 or, preferablly, press Delete which will update the underlying Euler Graph:

    As shown in the above screenshot, the concurrent edges that result from deleting a region are shown by interlacing the constituent curves' colours.

    Once a region is deleted, you can press Compress which will attempt to remove the concurrent edges by bringing the curves at the endpoints together:

    Depending on which regions have been removed, it may be impossible to remove all concurrent edges:

    However, if more regions are removed and the compression is performed again, the result may improve:

    Initially, the rays are uniformly distributed. You can left-click and drag the endpoint of ray in order to alter its position:

    By moving the rays, the resulting diagram maintains its area-proportionality, but can have an altered shape:

  8. Select File|Exit to quit the application.

Please Help Our Research by Providing Feedback

We are starting to get rather a large number of requests for Venn diagrams with various characteristics. The current software is sufficient for Stirling's Ph.D., but now we are thinking that it may be worthwhile commercializing a more user-friendly and flexible version.

We have no idea what people would be willing to pay for (a) individual diagrams, or (b) software that would draw area-proportional diagrams. If you could provide us with some feedback on those questions we would really appreciate it. Feedback can be sent via email at the contact page.

We are also happy to help with diagram requests, but do ask that, if your budget allows, you make a token contribution to our research. This would help us justify further grant applications to support our research.

Donations can be made to the following address or to our PayPal account (you do not need a PayPal account)::

Venn Diagram Software
c/o Dr. Frank Ruskey
Department of Computer Science
University of Victoria
PO Box 3055, STN CSC
Victoria, BC
Canada V8W 3P6