# eulerr v6.0.0

0

0th

Percentile

## Area-Proportional Euler and Venn Diagrams with Ellipses

Generate area-proportional Euler diagrams using numerical optimization. An Euler diagram is a generalization of a Venn diagram, relaxing the criterion that all interactions need to be represented. Diagrams may be fit with ellipses and circles via a wide range of inputs and can be visualized in numerous ways.

# eulerr

eulerr generates area-proportional Euler diagrams that display set relationships (intersections, unions, and disjoints) with circles or ellipses. Euler diagrams are Venn diagrams without the requirement that all set interactions be present (whether they are empty or not), which means that, depending on input, eulerr sometimes produces Venn diagrams and sometimes not.

With three or more sets intersecting, exact Euler diagrams are often impossible. For such cases eulerr attempts to provide a good approximation by numerically tuning the parameters of the ellipses or circles to minimize the error in the resulting diagram. Residuals and goodness of fit statistics are provided to assess whether the resulting diagram can be trusted.

## Installation

### CRAN version

install.packages("eulerr")


### Development version

devtools::install_github("jolars/eulerr")


### Shiny app

eulerr is also available as a shiny app hosted at eulerr.co.

## Usage

library(eulerr)
# From Wilkinson 2012
fit <- euler(c("A" = 4, "B" = 6, "C" = 3, "D" = 2, "E" = 7, "F" = 3,
"A&B" = 2, "A&F" = 2, "B&C" = 2, "B&D" = 1,
"B&F" = 2, "C&D" = 1, "D&E" = 1, "E&F" = 1,
"A&B&F" = 1, "B&C&D" = 1),
shape = "ellipse")


We can inspect the goodness-of-fit metrics diagError and stress for the solution,

fit$stress #> [1] 1.681159e-12 fit$diagError
#> [1] 2.562909e-07


and plot it

plot(fit)


Please see the introductory vignette for a brief introduction or eulerr under the hood for details.

eulerr is open source software, licensed under GPL-3.

## Versioning

eulerr uses semantic versioning.

## Code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

## Acknowledgements

eulerr would not be possible without Ben Frederickson’s work on venn.js or Leland Wilkinson’s venneuler.

## Functions in eulerr

 Name Description get_constraints Set up constraints for optimization compress_layout Compress an Euler layout coef.euler Return ellipses from the euler object is_false Check if object is strictly FALSE diagError diagError fruits Fruits dummy_code Dummy code a data.frame get_bounding_box Get the bounding box of an ellipse eulerr_default_options Default options for eulerr bit_indexr Binary indices eulerr_deprecated Deprecated functions in package eulerr. center_layout Center ellipses eulerr-package eulerr: Area-Proportional Euler and Venn Diagrams with Ellipses makeContent.EulerTags Avoid overlap for labels eulerr_options Get or set global graphical parameters for eulerr is_real Check if vector is a real (numeric non-integer) ellipse Plotting coordinates for an ellipse normalize_pars Normalize parameters (semiaxes and rotation) error_plot Error plot for euler objects is_integer Check if a vector is an integer organisms Organisms fitted.euler Fitted values of euler object mix_colors Blend (average) colors setup_gpar Setup gpars pain Pain distribution data plot.eulergram Print (plot) Euler diagram plot.euler Plot Euler and Venn diagrams replace_list Replace (refresh) a list venn Venn diagrams rescale Rescale values to new range update_list Update list with input plants Plants poly_clip Polygon Clipping regionError regionError stress Stress print.venn Print a summary of a Venn diagram tally_combinations Tally set relationships n_sets Get the number of sets in he input normalize_angle Normalize an angle to [-pi, pi) setup_tag Setup grobs for labels (labels, quantities, percentages) setup_grobs Grobify Euler objects separate_two_discs Optimize Distance Between Circles Based On Overlap print.euler Print a summary of an Euler diagram skyline_pack Skyline packing algorithm setup_geometry Compute geometries and label locations euler Area-proportional Euler diagrams No Results!