Skip to content
DraconiticResearch
Search Sources API
197,768 studies31 sourcesUpdated 58 min ago
PreprintCC BY 4.0arXiv

Eunoia: Area-Proportional Euler and Venn Diagrams in Rust, Julia, Python, R, and JavaScript

Abstract

Area-proportional Euler diagrams visualize sets and their intersections through regions whose areas represent their sizes. Because many set specifications have no exact geometric representation, constructing these diagrams requires numerical optimization and diagnostics that quantify the remaining discrepancies. Eunoia is a Rust library for fitting area-proportional Euler diagrams and constructing canonical Venn diagrams. It supports circles, ellipses, squares, and rectangles, computes region areas analytically, and provides exact analytical gradients for several shape families. Its fitting pipeline combines multidimensional scaling initialization with local refinement, global optimization when needed, and seeded restarts. Fitted layouts include residuals and goodness-of-fit statistics that help users assess how faithfully a diagram represents the data. Shared plotting routines extract region polygons, place labels, and pack unit glyphs and member names within regions. The same core implementation powers packages for R, Python, Julia, and JavaScript, a C interface, and a web application that fits diagrams entirely in the browser through WebAssembly. By centralizing fitting, geometry, diagnostics, and annotation in an independent library, Eunoia provides consistent set visualization across programming languages and interactive applications.

Related

  1. lifelines-hc: Higher Criticism testing for sparse non-proportional hazard departures in Python
    Alon Kipnis, Ben Galili, Zohar Yakhini
    arXivPreprintCC BY 4.0Full textStatisticsarXiv
  2. Traveling Salesman Problem on Graphs with Proportional Independent Set
    Ethan X. Fang, Shengtao Guo, Junwei Lu +1
    arXivPreprintCC BY 4.0Full textCombinatorics & discrete mathematicsarXiv
  3. Fluid and Diffusion Approximation of a Multiclass Proportional Processor Sharing Queue with Reneging and General Distributions
    Eva Loeser
    arXivPreprintCC BY 4.0Full textProbabilityarXiv
  4. Regularity of the Value Function in Multi-Asset Portfolio Selection with Proportional Transaction Costs
    Xinfu Chen, Shuaijie Qian
    arXivPreprintarXiv licenceFull textOptimisation & controlarXiv
  5. Singular Tracking of Fractional Brownian Motion under Proportional Costs
    Alexandre Autran
    arXivPreprintCC BY 4.0Full textOptimisation & controlProbabilityarXiv
BibTeX
@misc{larsson2026eunoia,
  title = {{Eunoia: Area-Proportional Euler and Venn Diagrams in Rust, Julia, Python, R, and JavaScript}},
  author = {Johan Larsson and Nicole M. Lee},
  howpublished = {arXiv},
  year = {2026},
  month = nov,
  doi = {10.48550/arxiv.2611.02198},
  eprint = {2611.02198},
  archivePrefix = {arXiv},
  url = {https://arxiv.org/abs/2611.02198},
  note = {CC BY 4.0},
}
RIS
TY  - UNPB
TI  - Eunoia: Area-Proportional Euler and Venn Diagrams in Rust, Julia, Python, R, and JavaScript
AU  - Johan Larsson
AU  - Nicole M. Lee
PY  - 2026
DA  - 2026/11/01
PB  - arXiv
DO  - 10.48550/arxiv.2611.02198
UR  - https://arxiv.org/abs/2611.02198
AB  - Area-proportional Euler diagrams visualize sets and their intersections through regions whose areas represent their sizes. Because many set specifications have no exact geometric representation, constructing these diagrams requires numerical optimization and diagnostics that quantify the remaining discrepancies. Eunoia is a Rust library for fitting area-proportional Euler diagrams and constructing canonical Venn diagrams. It supports circles, ellipses, squares, and rectangles, computes region areas analytically, and provides exact analytical gradients for several shape families. Its fitting pipeline combines multidimensional scaling initialization with local refinement, global optimization when needed, and seeded restarts. Fitted layouts include residuals and goodness-of-fit statistics that help users assess how faithfully a diagram represents the data. Shared plotting routines extract region polygons, place labels, and pack unit glyphs and member names within regions. The same core implementation powers packages for R, Python, Julia, and JavaScript, a C interface, and a web application that fits diagrams entirely in the browser through WebAssembly. By centralizing fitting, geometry, diagnostics, and annotation in an independent library, Eunoia provides consistent set visualization across programming languages and interactive applications.
ER  -