| Literature DB >> 21269502 |
Abstract
BACKGROUND: Visualization of orthogonal (disjoint) or overlapping datasets is a common task in bioinformatics. Few tools exist to automate the generation of extensively-customizable, high-resolution Venn and Euler diagrams in the R statistical environment. To fill this gap we introduce VennDiagram, an R package that enables the automated generation of highly-customizable, high-resolution Venn diagrams with up to four sets and Euler diagrams with up to three sets.Entities:
Mesh:
Year: 2011 PMID: 21269502 PMCID: PMC3041657 DOI: 10.1186/1471-2105-12-35
Source DB: PubMed Journal: BMC Bioinformatics ISSN: 1471-2105 Impact factor: 3.307
Figure 1The four types of Venn diagrams drawn by the . A) A one-set Venn diagram showing rudimentary customizable features such as label font size, label font face, and shape-fill. B) A two-set Venn diagram showing more advanced features such as scaling, individual shape-fill specifications, and individual caption label placement. C) A three-set Venn diagram showing a different shape-line type ("transparent") and the "text" option of caption label placement where the caption labels are attached to area labels. D) A four-set Venn diagram showing a combination of all previous features plus the ability to customize titles. The code to generate all diagrams shown here is included in Additional File 3.
Figure 2Selected Venn diagram special cases and Euler diagrams drawn by the . Row 1, column 1: automatically drawn, customizable lines that optimize display of partial areas when individual partial areas become too small in two-set Venn diagrams. Row 1, column 2: a two-set Euler diagram showing total inclusion of one of the sets. Row 1, column 3: a two-set Euler diagram showing two distinct sets. Row 2, column 1: a three-set Euler diagram where one set has no discrete elements. Row 2, column 2: a three-set Euler diagram where one set has no discrete elements is totally included in one of the other two sets. Row 2, column 3: a three-set Euler diagram where two sets have no discrete elements and are included in a larger third set. Row 3, column 1: a three-set Euler diagram showing total inclusion of two sets that are distinct from the third set. Row 3, column 2: a three-set Euler diagram where one set is totally included in another set, which is itself totally included in the third set. Row 3, column 2: a three-set Euler diagram showing three distinct sets. The code to generate all diagrams shown here is included in Additional File 3.
Figure 3A side-by-side comparison of an Euler diagram and a Venn diagram for the same hypothetical sets. A) The Euler diagram shows only non-zero areas and can therefore be more graphically accurate. B) The Venn diagram shows the non-existent area as an area with zero content. Though this is not graphically accurate, it preserves the recognisability of a Venn diagram.
A comparison of the features of various programs capable of generating Venn diagrams.
| DrawVenn | Venny | gplots::venn | venneuler | limma::vennDiagram | Google Chart | GeneVenn | VennMaster | BioVenn | VennDiagram | |
|---|---|---|---|---|---|---|---|---|---|---|
| Shape-fill | ||||||||||
| Colour | X | X | X | X | X | X | ||||
| Shape-line | ||||||||||
| Style | X | |||||||||
| Width | X | X | ||||||||
| Colour | X | |||||||||
| Caption labels | ||||||||||
| Content | X | X | X | X | ||||||
| Colour | X | X | ||||||||
| Font | X | X | X | |||||||
| Size | X | X | X | |||||||
| Style | X | |||||||||
| Location | X | X (SVG only) | X | |||||||
| Position | X | X (SVG only) | X | |||||||
| Distance | X | X (SVG only) | X | |||||||
| Justification | X | |||||||||
| Area labels | ||||||||||
| Colour | X | X | X | |||||||
| Font | X | X | X | X | ||||||
| Size | X | X | X | X | X | |||||
| Style | X | |||||||||
| Titles | ||||||||||
| Main title | X | X | X | X | ||||||
| Subtitle | X | X | ||||||||
| Position | X (SVG only) | X | ||||||||
| Colour | X | X | X | |||||||
| Font | X | X | ||||||||
| Size | X | X | X | |||||||
| Style | X | |||||||||
| Justification | X | |||||||||
| Background-fill | ||||||||||
| Colour | X | X | ||||||||
| Style | X | |||||||||
| File options | ||||||||||
| Output type | None | PNG | R graphics | R graphics | R graphics | PNG/GIF | PNG | SVG/JPEG | SVG/PNG | TIFF/PNG/JPEG/BMP/others |
| Figure resolution | X | X | X | |||||||
| Data processing | ||||||||||
| Built-in gene ID recognition | X | X | ||||||||
| Figure from file(s) | X | X | X | |||||||
| Specific optimizations | Gene Ontology | |||||||||
| General | ||||||||||
| Environment | Java | Web | R | R | R | Web | Web | Java | Web | R |
| Input format | Direct (slider) | Lists | Lists | Partial areas | R object | Partial areas | Lists | Lists/GoMiner output | Lists | Lists |
| Maximum sets | 3 | 4 | 5 | 3 | 3 | 3 | 3 | >5 | 3 | 4 |
| Shapes used | Circles/Rectangles | Circles/Ellipses | Circles/Ellipses | Circles | Circles | Circles | Circles | Polygons | Circles | Circles/Ellipses |
| Scaling | X | X* | X* | X (iterative) | X* | X (2-set only) | ||||
| Euler diagrams | X | X | X | X | ||||||
| Margin size | X | X | X | |||||||
| Rotation | X | |||||||||
| Two-set external lines | X | |||||||||
| Other set-specific parameters | X | X | ||||||||
* uses inaccurate 3-set scaling with circles
This table highlights the improvements that the VennDiagram package possesses over other notable Venn diagram-generating software. The highly customizable nature of the VennDiagram package is evident.