--- id: upsetplot version: "0.9.0" license: BSD-3-Clause license_treatment: permissive maintenance: dormant --- # UpSetPlot — Draw Lex et al.'s UpSet plots with Pandas and Matplotlib License: permissive · Maintenance: dormant · Downloads: 91.2K/mo ## What it is and what it does UpSetPlot is a Python library for visualizing set overlaps and categorical intersections. It implements the UpSet plot design from Lex et al., which represents set intersections as a matrix of horizontal or vertical bars, making it easier to read than traditional Venn diagrams when dealing with many categories or complex overlaps. The library accepts data in multiple formats—most commonly a pandas Series indexed by boolean category membership, or a DataFrame to show distributions within each subset. It provides helper functions like from_memberships and from_contents to transform raw data into the required format, then renders publication-ready plots via matplotlib. The design is extensible and object-oriented, allowing customization of plot appearance and behavior. Use it for: - Visualize overlaps in genomic or biological datasets where multiple categories (genes, samples, conditions) intersect. - Display membership patterns in survey or classification data where items belong to multiple categories simultaneously. - Compare set intersections in machine learning experiments where predictions or labels overlap across classes. - Show distribution of a continuous variable (e.g., expression level) across different category combinations. - Create publication-ready plots for research papers presenting categorical or set-based analysis results. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. UpSetPlot generates visualizations of set overlaps and intersections using a matrix-based layout that scales better than Venn diagrams, backed by pandas and matplotlib. Yes, if you need to visualize set intersections and overlaps in categorical data. UpSetPlot is stable, permissive, and has no known vulnerabilities. The main caveat is that the package is dormant (957 days since release), so compatibility with very recent pandas or matplotlib versions is unverified; test against your environment before relying on it in production. ## Install pip install upsetplot uv add upsetplot poetry add upsetplot ## Installing UpSetPlot Before you install: Installation requires pandas and matplotlib; the package is dormant (957 days since last release) but carries no known vulnerabilities and has permissive licensing. License in practice: BSD-3-Clause is permissive; you can use, modify, and distribute UpSetPlot with minimal restrictions, provided you include the license notice. Quickstart: pip install upsetplot from upsetplot import generate_counts, plot example = generate_counts() plot(example) Requires pandas and matplotlib >= 2.0; seaborn is needed only for the add_catplot method. Verify before relying: - Whether the package is actively maintained or has been superseded by another implementation. - Compatibility with recent versions of pandas and matplotlib beyond the stated requirements. ## Package facts - License: BSD-3-Clause (permissive) - Python support: unspecified - Install friction: high - Maintenance: dormant - Downloads: 91.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags set intersection visualization, upset plot, venn diagram alternative, categorical overlap plot, set cardinality visualization, intersection matrix plot, subset distribution chart, data-visualization, categorical-analysis [View on SkillFed](https://skillfed.io/packages/upsetplot) · [View on PyPI](https://pypi.org/project/upsetplot/)