Eunoia

r

Eunoia fits area-proportional Euler diagrams and constructs Venn diagrams in Rust, with bindings for Julia, Python, R, and JavaScript.

Authors

Johan Larsson

Peter Gustafsson

Published

18 June 2018

Details

arXiv, arXiv:2611.02198

Links

 

Eunoia creates area-proportional Euler diagrams and canonical Venn diagrams using circles, ellipses, squares, and rectangles. While most Euler diagram software is limited to circles (which often can’t accurately represent set relationships), Eunoia uses numerical optimization to fit ellipses that can represent a wider range of set intersections accurately.

The package handles any number of sets and automatically finds the best layout using a two-step procedure: first generating an initial layout from pairwise relationships, then optimizing using all set relationships simultaneously. It’s ideal for visualizing overlapping categories in genomics, survey data, or any domain where set relationships need clear visual representation.

Citation

BibTeX citation:
@misc{larsson2026,
  author = {Larsson, Johan and Lee, Nicole M.},
  publisher = {arXiv},
  title = {Eunoia: {Area-Proportional} {Euler} and {Venn} {Diagrams} in
    {Rust,} {Julia,} {Python,} {R,} and {JavaScript}},
  number = {arXiv:2611.02198},
  date = {2026-11-01},
  url = {https://arxiv.org/abs/2611.02198},
  doi = {10.48550/arXiv.2611.02198},
  langid = {en}
}
For attribution, please cite this work as:
Larsson, Johan, and Nicole M. Lee. 2026. “Eunoia: Area-Proportional Euler and Venn Diagrams in Rust, Julia, Python, R, and JavaScript.” arXiv:2611.02198. Preprint, arXiv, November 1. https://doi.org/10.48550/arXiv.2611.02198.