Install & Compatibility
Where this runs
tested against v0.9.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 3.380s · 252.1MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 13.2s · import 3.246s · 241MB
255MB installed
● package 255MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
from upsetplot import UpSet
✓ from upsetplot import UpSet
✗ import upsetplot as up
Common mistake: importing the module without the UpSet class. Correct pattern is `from upsetplot import UpSet`.
from upsetplot import from_memberships
✓ from upsetplot import from_memberships
✗ from upsetplot import from_indicators
`from_indicators` was removed in version 0.8.0; use `from_memberships` instead.
Create a basic UpSet plot from membership lists. Uses `from_memberships` to convert data, then `UpSet().plot()`.
import pandas as pd
from upsetplot import UpSet
data = {
'ID': [1,2,3,4,5],
'Set1': [True, True, False, False, True],
'Set2': [False, True, True, False, False],
'Set3': [True, False, True, True, False]
}
df = pd.DataFrame(data)
# Convert to indicator format (each row one set?): Actually upsetplot expects memberships
memberships = [
['Set1', 'Set3'],
['Set1', 'Set2'],
['Set2', 'Set3'],
['Set3'],
['Set1']
]
from upsetplot import from_memberships
upset_data = from_memberships(memberships, data=df['ID'])
plot = UpSet(upset_data, subset_size='count')
plot.plot()
import matplotlib.pyplot as plt
plt.show()
Errors
Common errors & fixes
AttributeError: module 'upsetplot' has no attribute 'from_indicators'
`from_indicators` was removed in version 0.8.0.
fixUse `from upsetplot import from_memberships` and convert your indicator matrix to membership lists.
ValueError: 'degree' is not a valid value for sort_by
The `sort_by` parameter no longer accepts 'degree' since version 0.6.0; use 'cardinality'.
fixChange `sort_by='degree'` to `sort_by='cardinality'`.
ImportError: cannot import name 'UpSet' from 'upsetplot'
Older versions of upsetplot (<0.6.0) had the UpSet class in a submodule or different name. Or you have a different library installed.
fixEnsure you have upsetplot>=0.6.0 installed: `pip install -U upsetplot`. Use `from upsetplot import UpSet`.
Upgrade
Version history
0.9.0latest on PyPI · released Dec 31, 2023
Audit
Dependencies
pandasrequiredData input for sets
matplotlibrequiredPlotting backend