Eunoia
Eunoia fits area-proportional Euler diagrams and constructs Venn diagrams in Rust, with bindings for Julia, Python, R, and JavaScript.
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
@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}
}