eulerr v6.0.0

0

Monthly downloads

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.

Readme

eulerr

Travis build
status AppVeyor Build
Status Coverage
Status CRAN
Badge Donate AppVeyor build
status

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.

License

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!

Vignettes of eulerr

Name
eulerr.bib
gallery.Rmd
introduction.Rmd
under-the-hood.Rmd
venn-diagrams.Rmd
visualization.Rmd
No Results!

Last month downloads

Details

LinkingTo Rcpp (>= 0.12.12), RcppArmadillo (>= 0.7.600.1.0)
License GPL-3
Encoding UTF-8
LazyData true
VignetteBuilder knitr
URL https://github.com/jolars/eulerr, https://jolars.github.io/eulerr/
BugReports https://github.com/jolars/eulerr/issues
RoxygenNote 6.1.1
Language en-US
NeedsCompilation yes
Packaged 2019-09-27 20:50:17 UTC; johan
Repository CRAN
Date/Publication 2019-09-27 21:10:02 UTC

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/eulerr)](http://www.rdocumentation.org/packages/eulerr)