Figure 3 - uploaded by Andrew Fish
Content may be subject to copyright.
c. The final diagram ∅ a b ab bc abc . 

c. The final diagram ∅ a b ab bc abc . 

Source publication
Conference Paper
Full-text available
Euler diagrams are collections of labelled closed curves. They are often used to represent information about the relationship between sets and, as such, they have numerous applications including: visualizing biological data, diagrammatic logics, and visual database querying. Various methods to automatically generate Euler diagrams have been propose...

Contexts in source publication

Context 1
... diagrams are a popular and intuitive notation for representing information about sets and their relationships. To illustrate, the Euler diagram in Figure 1 shows the relationship between parts of the British Isles. Euler diagrams allow the representation of concepts such as one set being a subset of another or that two sets are disjoint. The term Venn diagram is often applied to such examples, however Venn diagrams are a specific type of Euler diagram which represents all set intersections [12], and, as the number of sets increases, they quickly becomes visually cluttered. Euler diagrams consist of a finite collection of labelled closed curves, called contours. The minimal (non-empty) regions are called zones. For example, Figure 1 has a contour with label “Ireland”, and a contour with label “United Kingdom”. The zone which is inside both these contours contains the item “Northern Ireland”. The zone that is in the contour “Ireland” but not in the contour “United Kingdom” contains the item “Republic of Ireland”. The demonstrable popularity of Euler diagrams lies in their wide-ranging applications, including the visualization of statistical data [1], displaying the results of database queries [17] and representing non-hierarchical computer file systems [2]. They have been used in a visual semantic web editing environment [16] and for viewing clusters which contain concepts from multiple ontologies [8]. Another major application area is that of logical reasoning [15] and such logics are used for formal object oriented specification [10]. Currently, in all but some restricted cases, Euler diagrams must be laid out by hand. In all of the above application areas, the automated layout of Euler diagrams will bring substantial benefits, allowing complex diagrams can be developed and permitting Euler diagrams to be used with visualization systems. When defining generation and layout techniques, one should place a high importance on the usability of the diagram produced. Usability can be correlated with a range of desirable properties, sometimes called wellformedness conditions. Perhaps the most commonly required properties are the absence of concurrency between curves, the absence of triple points (or worse) of intersection, the absence of disconnected zones, and the use of simple curves only. Each of the diagrams in Figure 2 breaks one or more of the wellformedness conditions. In this paper we use single letters to label contours. Each zone can be described by the contour labels in which the zone is contained. An abstract description of an Euler diagram, describing precisely which zones are required to be present, is a collection of zone descriptions. For example, the abstract description for the Euler diagram in Figure 3c is ∅ a b ab bc abc , where ∅ indicates the zone which is contained by no contours, called the outside zone . Previous work on generation produces Euler diagrams satisfying certain wellformedness conditions [1],[4], [11],[17]. However, abstract descriptions that cannot be drawn under certain wellformedness conditions exist, such as ∅ a b c ab ac bc (shown embedded in Figure 2a) and ∅ ab bc (shown embedded in Figure 2b). In addition there are nine set abstract descriptions that cannot be drawn with simple curves [17]. To generate an Euler diagram, the standard approach is to take an abstract description and, first, derive a planar dual graph. Each node in the dual graph represents a zone and is labelled by that zone’s abstract description. In simple cases, edges between nodes arise when there is exactly one contour label difference between node labels; this single label is used to label the edge. The dual graph is then embedded in the plane (see Figure 3a); see [4] for further details. Finally one attempts to embed the Euler diagram by routing each contour with label l through the edges labelled l (see Figure 3b). In these diagrams, the dual graph is shown with dotted lines to more easily distinguish it from the Euler diagram. Even if an embedding can found, there is no guarantee that the layout of the Euler diagram will be usable. Apart from the properties illustrated in Figure 2, other features such as smooth, well spaced contours are desirable. The layout of the dual graph will have an impact on the presence of features, as will the mechanism used for determining the routing of the contours through the dual. An Euler diagram after layout improvement, is shown in Figure 3c. This paper addresses the Euler diagram embedding problem. We define a technique for routing contours through the dual in such a way that we create a wellformed diagram (a diagram that has contours which meet transversely whenever they intersect and has none of the properties shown in Figure 2: no triple points, concurrent curves, disconnected zones or non-simple curves) whenever this is theoretically possible. We take a dual generated by the method described in [4] that is guaranteed to admit a wellformed Euler diagram and triangulate it. We then label the triangulation edges with the difference between incident node labels; these labels identify the contours that will pass through the edge. The labels are then placed in an order on the edge which indicates how the contours will pass through each triangle, that is, which (if any) contours will intersect in the triangle. This paper also presents methods for improving the layout of the diagrams which take advantage of this triangulation approach. First, we modify the plane embedding of the dual through a force directed layout method, which adds a node-edge repulsive force in addition to the normal node-node repulsive force. Secondly, we optimize the positioning of the edge labels (each of which is placed where the relevant contours will cut the edge) in order to obtain contours with a more regular shape. The method we use to route the contours through triangulated duals is described in Section 2. Section 3 discusses improvements to the layout of Euler diagrams. Section 4 shows some examples of the method in operation. Finally, Section 5 gives our conclusions and further work. This section describes the process of taking a plane embedding of a graph dual in order to produce an embedding an Euler diagram with the required zone set. To generate a dual graph we follow the methodology of [4]. This generates connected duals that admit diagrams that have contours which, whenever they intersect, do so transversely. There are at most two contours intersecting at any point, with no concurrent contours, all contours are simple curves, and each zone is a connected component of the plane. Starting with an abstract description, the method first creates the nodes of a dual graph called the superdual; the zone descriptions are the node set and edges connect two nodes whenever they have exactly one contour label difference; and this difference forms the edge label. The superdual is then transformed (possibly including edge removal) into a connected plane graph, called the plane dual, that satisfies the connectivity conditions and face conditions (defined below). Currently implementation imports the open source library JGraphEd to test for planarity and to find a plane layout of the dual, although we are experimenting with other planar layout tools. The connectivity conditions are a simplification of those used in [5] and state that the dual is connected and for each contour label used in the abstract description, if the nodes without that contour label present are removed (recall, a node is a collection of contour labels) then the graph remains connected and, similarly, if the nodes without that contour label present are removed then the graph must also remain connected. In order to define the face conditions, we first define crossing index: the crossing index of a face is the number of pairs of labels which occur on the edges which bound the face in a non-nested manner. For example, given the face edge label cycle uavbwbxay the letters a and b are nested whereas they are not nested in uavbwaxby. The non-nestedness of a pair of labels corresponds to the need for their associated contours to cross within the face. The face conditions state that for each face of the plane dual graph the crossing index must be one less than the number of distinct labels on the edges bounding the face. The embedding method presented in this paper takes a dual that meets these conditions, and draws the contours around the nodes respecting the enclosure information provided. So, each contour will enclose precisely the nodes which include that contour’s label. The contours are drawn with polygons and we identify which faces that each contour must pass through by considering the edge labelling: if a label appears on an edge bounding a face then the contour with that label must pass through the face. Moreover, the contour cuts through precisely the edges with that contour label. In general, straight lines cannot simply be drawn between edges of the dual to show where contours pass through faces, because a face may not be convex. Hence the line could cut other edges which do not include the contour label, possibly introducing incorrect contour intersections and so failing to form the required zone set. If an arbitrary polyline routing through the face is taken, incorrect intersections can again occur, also possibly failing to form the required zone set. See Figure 4, where the zone c ...
Context 2
... diagrams are a popular and intuitive notation for representing information about sets and their relationships. To illustrate, the Euler diagram in Figure 1 shows the relationship between parts of the British Isles. Euler diagrams allow the representation of concepts such as one set being a subset of another or that two sets are disjoint. The term Venn diagram is often applied to such examples, however Venn diagrams are a specific type of Euler diagram which represents all set intersections [12], and, as the number of sets increases, they quickly becomes visually cluttered. Euler diagrams consist of a finite collection of labelled closed curves, called contours. The minimal (non-empty) regions are called zones. For example, Figure 1 has a contour with label “Ireland”, and a contour with label “United Kingdom”. The zone which is inside both these contours contains the item “Northern Ireland”. The zone that is in the contour “Ireland” but not in the contour “United Kingdom” contains the item “Republic of Ireland”. The demonstrable popularity of Euler diagrams lies in their wide-ranging applications, including the visualization of statistical data [1], displaying the results of database queries [17] and representing non-hierarchical computer file systems [2]. They have been used in a visual semantic web editing environment [16] and for viewing clusters which contain concepts from multiple ontologies [8]. Another major application area is that of logical reasoning [15] and such logics are used for formal object oriented specification [10]. Currently, in all but some restricted cases, Euler diagrams must be laid out by hand. In all of the above application areas, the automated layout of Euler diagrams will bring substantial benefits, allowing complex diagrams can be developed and permitting Euler diagrams to be used with visualization systems. When defining generation and layout techniques, one should place a high importance on the usability of the diagram produced. Usability can be correlated with a range of desirable properties, sometimes called wellformedness conditions. Perhaps the most commonly required properties are the absence of concurrency between curves, the absence of triple points (or worse) of intersection, the absence of disconnected zones, and the use of simple curves only. Each of the diagrams in Figure 2 breaks one or more of the wellformedness conditions. In this paper we use single letters to label contours. Each zone can be described by the contour labels in which the zone is contained. An abstract description of an Euler diagram, describing precisely which zones are required to be present, is a collection of zone descriptions. For example, the abstract description for the Euler diagram in Figure 3c is ∅ a b ab bc abc , where ∅ indicates the zone which is contained by no contours, called the outside zone . Previous work on generation produces Euler diagrams satisfying certain wellformedness conditions [1],[4], [11],[17]. However, abstract descriptions that cannot be drawn under certain wellformedness conditions exist, such as ∅ a b c ab ac bc (shown embedded in Figure 2a) and ∅ ab bc (shown embedded in Figure 2b). In addition there are nine set abstract descriptions that cannot be drawn with simple curves [17]. To generate an Euler diagram, the standard approach is to take an abstract description and, first, derive a planar dual graph. Each node in the dual graph represents a zone and is labelled by that zone’s abstract description. In simple cases, edges between nodes arise when there is exactly one contour label difference between node labels; this single label is used to label the edge. The dual graph is then embedded in the plane (see Figure 3a); see [4] for further details. Finally one attempts to embed the Euler diagram by routing each contour with label l through the edges labelled l (see Figure 3b). In these diagrams, the dual graph is shown with dotted lines to more easily distinguish it from the Euler diagram. Even if an embedding can found, there is no guarantee that the layout of the Euler diagram will be usable. Apart from the properties illustrated in Figure 2, other features such as smooth, well spaced contours are desirable. The layout of the dual graph will have an impact on the presence of features, as will the mechanism used for determining the routing of the contours through the dual. An Euler diagram after layout improvement, is shown in Figure 3c. This paper addresses the Euler diagram embedding problem. We define a technique for routing contours through the dual in such a way that we create a wellformed diagram (a diagram that has contours which meet transversely whenever they intersect and has none of the properties shown in Figure 2: no triple points, concurrent curves, disconnected zones or non-simple curves) whenever this is theoretically possible. We take a dual generated by the method described in [4] that is guaranteed to admit a wellformed Euler diagram and triangulate it. We then label the triangulation edges with the difference between incident node labels; these labels identify the contours that will pass through the edge. The labels are then placed in an order on the edge which indicates how the contours will pass through each triangle, that is, which (if any) contours will intersect in the triangle. This paper also presents methods for improving the layout of the diagrams which take advantage of this triangulation approach. First, we modify the plane embedding of the dual through a force directed layout method, which adds a node-edge repulsive force in addition to the normal node-node repulsive force. Secondly, we optimize the positioning of the edge labels (each of which is placed where the relevant contours will cut the edge) in order to obtain contours with a more regular shape. The method we use to route the contours through triangulated duals is described in Section 2. Section 3 discusses improvements to the layout of Euler diagrams. Section 4 shows some examples of the method in operation. Finally, Section 5 gives our conclusions and further work. This section describes the process of taking a plane embedding of a graph dual in order to produce an embedding an Euler diagram with the required zone set. To generate a dual graph we follow the methodology of [4]. This generates connected duals that admit diagrams that have contours which, whenever they intersect, do so transversely. There are at most two contours intersecting at any point, with no concurrent contours, all contours are simple curves, and each zone is a connected component of the plane. Starting with an abstract description, the method first creates the nodes of a dual graph called the superdual; the zone descriptions are the node set and edges connect two nodes whenever they have exactly one contour label difference; and this difference forms the edge label. The superdual is then transformed (possibly including edge removal) into a connected plane graph, called the plane dual, that satisfies the connectivity conditions and face conditions (defined below). Currently implementation imports the open source library JGraphEd to test for planarity and to find a plane layout of the dual, although we are experimenting with other planar layout tools. The connectivity conditions are a simplification of those used in [5] and state that the dual is connected and for each contour label used in the abstract description, if the nodes without that contour label present are removed (recall, a node is a collection of contour labels) then the graph remains connected and, similarly, if the nodes without that contour label present are removed then the graph must also remain connected. In order to define the ...

Similar publications

Conference Paper
Full-text available
This is an application paper in which we propose to present the ac-tual implementation of default reasoning under conceptual graph formalism using CoGui. CoGui is a free graph-based visual tool, developed in Java, for building Conceptual Graph knowledge bases. We present the extension of this application to define and represent default CG rules (a...
Article
Full-text available
The construction of high-density primary schools in Shenzhen is facing new challenges. Therefore, it is essential to look for ways to meet the demand for degrees, realize education and teaching reform, eliminate the shackles of design code, and adapt to the local climate. From the perspective of design methodology, this article discusses the design...
Article
Full-text available
This paper suggests an improved method of grouping minterms based on the Decimal-Valued Matrix (DVM) method. The DVM is a novel approach to Boolean logic minimization method which was recently developed by this author. Using the minterm-based matrix layout, the method captures binary number based minterm differences in decimal number form. As a res...
Article
Full-text available
A pedagogical treatment of two-level multiple-output logic minimization is presented through a compact exposition of a novel manual fast procedure. This procedure is a purely map technique which generalizes the map procedure for single-output minimization. It requires neither the generation of the set of all paramount prime implicants, nor the cons...

Citations

... Sets in Euler diagrams can also be visualized by using abstract forms [18]. The diagrams can be created and calculated with the use of planar graphs and triangles. ...
... The line between a and b is omitted, if there exists a node c that fully contains the set of a and its set is fully contained in b. The drawing area is divided into several triangular sectors that can be used to calculate the area of several abstract forms for the different sets in M [18]. Figure 6 shows an example. ...
... A diagram for the sets M = {a, b, c} and U = {a, b, c, ab, bc, abc, ac}[18] ...
Conference Paper
Full-text available
A vast majority of internet users has adopted new ways and possibilities of interaction and information exchange on the social web. Individuals are becoming accustomed to contribute and express their opinion on various platforms and websites. Commercial online polls allow operators of online newspapers, blogs and other forms of media sites to provide such services to their users. Consequently, their popularity is rapidly increasing and more and more potential areas of application emerge. However, in most cases the expressed opinions are stored and displayed without any further actions and the knowledge that lies in the answers is discarded. This research paper explores the possibilities, advantages and limits of applying semantic technologies to these online polls. For this purpose, a list of requirements was assembled and possible system architectures for semantic knowledgebases were investigated with the focus on providing consistent and extensive data for further processing. In a next step, the current state of the art of relevant visualization technologies was analyzed and further research challenges were identified. Our results discuss possible applications within the scope of a challenging case study. A comprehensive data pool provided by our industry partner allows for testing various improvements to user experience and traction of the polling system.
... Automatic generation methods for Euler diagrams such as [3,6] produce difficult to comprehend representations (see Figure 1, left column). Thus, after generation, these representations have to be refined and improved by some other specific layout techniques. ...
... Thus, after generation, these representations have to be refined and improved by some other specific layout techniques. In our case, our initial diagrams are generated by a technique based on that given in [6]. These diagrams are wellformed and thus, they have no poor structural features such as triple points, concurrency or disconnected zones [3]. ...
... These diagrams are wellformed and thus, they have no poor structural features such as triple points, concurrency or disconnected zones [3]. As a result, the technique in [6] does not generate all possible diagrams. ...
Article
Euler diagrams use closed curves to represent sets and their relationships. They facilitate set analysis, as humans tend to perceive distinct regions when closed curves are drawn on a plane. However, current automatic methods often produce diagrams with irregular, non-smooth curves that are not easily distinguishable. Other methods restrict the shape of the curve to for instance a circle, but such methods cannot draw an Euler diagram with exactly the required curve intersections for any set relations. In this paper, we present eulerForce, as the first method to adopt a force-directed approach to improve the layout and the curves of Euler diagrams generated by current methods. The layouts are improved in quick time. Our evaluation of eulerForce indicates the benefits of a force-directed approach to generate comprehensible Euler diagrams for any set relations in relatively fast time.
... Using these predictions in a consideration of emulated and simulated features in existing notations could lead to a principled approach to generating effective diagrams. The same problem is addressed, though using quite different means to our own, by Rodgers et al. [20] in their definition of well-formedness criteria for Euler diagrams and the effect of the criteria on readability. The fine grained principles could also be used by designers of new notations, through a consideration of the informational domain of the notation and the cognitive processes implied. ...
... Using these predictions in a consideration of emulated and simulated features in existing notations could lead to a principled approach to generating effective diagrams. The same problem is addressed, though using quite different means to our own, by Rodgers et al. [20] in their definition of well-formedness criteria for Euler diagrams and the effect of the criteria on readability. The fine grained principles could also be used by designers of new notations, through a consideration of the informational domain of the notation and the cognitive processes implied. ...
Conference Paper
Full-text available
We compare the affordances of two visual logics, one from the Euler family of notations, spider diagrams, and one which takes a significantly different approach to representing logical concepts, existential graphs. We identify strengths and weaknesses of each notation and present these features as being related to the idea that each notation is, to a greater or lesser degree, biased towards objects or predicates, and that such biases make a notation more or less effective in a given context. We then introduce a framework for understanding and predicting those affordances, which can help guide us towards better use of existing graphical notations and the design of more effective new notations. The framework links research in semiotics and linguistics with insights provided by the HCI and diagrams communities.
... Rodgers et al. [85] presented an algorithm for routing the cluster curves in a diagram generated with the previous method. ...
... This shows the complexity of the Euler diagram generation problem, as well as the necessity of violating the connected cluster region property to provide a drawing for every input instance. Also, the paper has the merit of sketching the first concrete method for the depiction of the cluster curves, since the method of Rodgers et al. [85] was proposed a few years later. However, this second method has the benefit of reducing the concurrency of the cluster curves, that is largely used in the method of Verroust and Viaud. ...
... Once the graph is drawn, the algorithm proceeds with a second edge addition phase, where some multiple edges are routed on the embedded graph to avoid the generation of unnecessary brushing points (see figures 4.5b and 4.5c). Then, the graph is triangulated and the cluster curves are drawn in a way similar to the previous method [85]. ...
Article
In this thesis, we propose a method for the visualisation of overlapping sets and of fuzzy graph clusterings based on Euler diagrams. Euler diagrams are probably the most intuitive and most used method to depict sets in which elements can be shared. Such a powerful visualisation metaphor could be an invaluable visualisation tool, but the automatic generation of Euler diagrams still presents many challenging problems. First, not all instances can be drawn using standard Euler diagrams. Second, most existing algorithms focus on diagrams of modest dimensions while real-world applications typically features much larger data. Third, the generation process must be reliable and reasonably fast. In this thesis, we describe an extended version of Euler diagrams that can be produced for every input instance. We then propose an automatic procedure for the generation of such diagrams that specifically target large input instances. Finally, we present a software implementation of this method and we describe some output examples generated on real-world data.
... Others have used graph layout methods to fit Euler diagrams (when they exist) to more than three sets of error-free data [20,8] these approaches have an axiomatic graph-theoretic foundation, the layouts are not unique because they depend on the the choice of graph layout algorithm (force directed, annealing, spectral, etc.). [13,14] developed an algorithm for the general Euler problem (more than three sets, with circles sized by set cardinality). ...
Article
Full-text available
Scientists conducting microarray and other experiments use Venn and Euler diagrams to analyze and illustrate their results. Most existing computer programs that implement Venn and Euler diagrams are limited to three sets. The few programs that plot more than three sets rest on ad-hoc methods, such as force-directed algorithms designed for laying out graphs. As a general solution to this problem, this article introduces a statistical model for fitting Venn and Euler diagrams to observed data. The statistical model outlined in this report includes an explicit loss function and a minimization procedure that enables formal estimation of the Venn/Euler model for the first time. A significance test of the null hypothesis is computed for the solution. Residuals from the model are available for inspection. As a result, this algorithm can be used for both exploration and inference on real datasets. A Java program implementing this algorithm is available under the Mozilla Public License. An R function venneuler() is available as a package in CRAN.
... Several researchers have worked on axiomatic solutions for Euler diagrams [16,37,38,46] and area-proportional Euler diagrams [36]. In [47] Rodgers and Stapleton build Euler diagrams inductively, by adding one curve at a time based on a dual graph of the diagram. ...
Article
Full-text available
Scientists conducting microarray and other experiments use circular Venn and Euler diagrams to analyze and illustrate their results. As one solution to this problem, this paper introduces a statistical model for fitting area-proportional Venn and Euler diagrams to observed data. The statistical model outlined in this paper includes a statistical loss function and a minimization procedure that enables formal estimation of the Venn/Euler area-proportional model for the first time. A significance test of the null hypothesis is computed for the solution. Residuals from the model are available for inspection. As a result, this algorithm can be used for both exploration and inference on real data sets. A Java program implementing this algorithm is available under the Mozilla Public License. An R function venneuler() is available as a package in CRAN and a plugin is available in Cytoscape.
... Typically, these descriptions state which curves are to be present and which set intersections must be represented. In order to transform abstract descriptions into diagrams effectively, various research efforts have been devoted to the automated generation of Euler diagrams [1], [2], [3], [4]. Some existing generation approaches, such as [5], [6], construct a so-called dual graph from the abstract description , which is embedded in the plane, and 'wrap' closed curves around the dual graph, as illustrated inFig. ...
... Regarding (b), whether the algorithm used to draw the curves as presented in [5] is of comparable complexity to our drawing method (i.e. at most O(|L(D)| 2 ), giving an overall complexity of O(|L(D)| 3 )) or has worse time complexity is unknown. The method presented in [3] for drawing the curves from a suitable subgraph of the superdual is polynomial. However, typically the curves are not circles, since the layout of superdual impacts the possible routings for the curves. ...
Article
Full-text available
Euler diagrams are effective tools for visualizing set intersections. They have a large number of application areas ranging from statistical data analysis to software engineering. However, the automated generation of Euler diagrams has never been easy: given an abstract description of a required Euler diagram, it is computationally expensive to generate the diagram. Moreover, the generated diagrams represent sets by polygons, sometimes with quite irregular shapes which make the diagrams less comprehensible. In this paper we address these two issues by developing the theory of piercings, where we define single piercing curves and double piercing curves. We prove that if a diagram can be built inductively by successively adding piercing curves under certain constraints then it can be drawn with circles, which are more aesthetically pleasing than arbitrary polygons. The theory of piercings is developed at the abstract level. In addition, we present a Java implementation that, given an inductively pierced abstract description, generates an Euler diagram consisting only of circles within polynomial time.
... To our knowledge, the only other approach able to deal with every input is the one described by Rodgers, Zhang and Fish [7] extending the methods proposed in [6,8]. However, the authors did not concentrate on the construction of the structure graph, particularly when the diagram cannot be represented in a planar way. ...
Article
Full-text available
Most methods for generating Euler diagrams describe the detection of the general structure of the final drawing as the first step. This information is generally encoded using a graph, where nodes are the regions to be represented and edges represent adjacency. A planar drawing of this graph will then indicate how to draw the sets in order to depict all the set intersections. In this paper we present an heuristic to construct this structure, the intersection graph. The final Euler diagram can be constructed by drawing the sets boundaries around the nodes of the intersection graph, either manually or automatically.
... A further avenue of research is in improvements of the final layout which is an essential feature in usability terms. Methods, such as those discussed in [9,15] have been applied to the some of the diagrams shown in this paper, and further heuristics that more accurately measure contour smoothness, and as well as measuring other aesthetic features of the diagram not currently considered could be introduced. Also, the plane embedding of the dual has significant impact on the usability of the drawing, and methods to control the layout at Step 4 could impact on the number of triple points generated, which is currently not restricted, for example. ...
Conference Paper
Full-text available
Euler diagrams are a natural method of representing set-theoretic data and have been employed in diverse areas such as visualizing statistical data, as a basis for diagrammatic logics and for displaying the results of database search queries. For effective use of Euler diagrams in practical computer based applications, the generation of a diagram as a set of curves from an abstract description is necessary. Various practical methods for Euler diagram generation have been proposed, but in all of these methods the diagrams that can be produced are only for a restricted subset of all possible abstract descriptions. We describe a method for Euler diagram generation, demonstrated by implemented software, and illustrate the advances in methodology via the production of diagrams which were difficult or impossible to draw using previous approaches. To allow the generation of all abstract descriptions we may be required to have some properties of the final diagram that are not considered nice. In particular we permit more than two curves to pass though a single point, permit some curve segments to be drawn concurrently, and permit duplication of curve labels. However, our method attempts to minimize these bad properties according to a chosen prioritization.