pylluvial
A python library for creating alluvial diagrams with an arbitrary number of layers
Installation
Simply run the following
pip install pylluvial
or clone the repository
git clone git@github.com:dmalzl/pylluvial.git
and run
cd pyluvial
pip install .
you should then be able to import the package as usual
Usage
A minimal usage example would be as follows
import pylluvial as pa
data = pa.generate_test_data(
[3, 4, 3, 2]
)
# by default labels are not shown
fig, ax = pa.alluvial(
x='timepoint',
stratum='module',
alluvium='nodename',
data=data,
palette='husl',
stratum_gap=2,
stratum_width=2
)
fig.set_figwidth(10)
fig.set_figheight(5)
fig.tight_layout()
# pass show_labels = True to get labelled plots
fig, ax = pa.alluvial(
x = 'timepoint',
stratum = 'module',
alluvium = 'nodename',
palette = 'husl',
data = data,
stratum_gap = 2,
stratum_width = 2,
show_labels = True
)
fig.set_figwidth(10)
fig.set_figheight(5)
fig.tight_layout()
# use hue to split strata by a given grouping variable
fig, ax = pa.alluvial(
x = 'timepoint',
stratum = 'module',
alluvium = 'nodename',
hue = 'signif',
palette = 'tab20',
data = data,
stratum_gap = 2,
stratum_width = 2,
show_labels = True
)
fig.set_figwidth(10)
fig.set_figheight(5)
fig.tight_layout()
The color assignment for hue elements using string arguments for palette can be quite cumbersome. However, you can always pass a dictionary with the colors you want to use to palette instead of a string
tab20_colors = {
'1_s': '#1F77B5',
'1_ns': '#B0C6E8',
'2_s': '#F07E21',
'2_ns': '#F9BA79',
'3_s': '#2AA137',
'3_ns': '#9DCB88',
'4_s': '#D62828',
'4_ns': '#F29697'
}
colors = {
f't{i}': tab20_colors for i in range(4)
}
fig, ax = pa.alluvial(
x = 'timepoint',
stratum = 'module',
alluvium = 'nodename',
hue = 'signif',
palette = colors,
data = data,
stratum_gap = 2,
stratum_width = 2,
show_labels = True
)
Release files for pylluvial 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pylluvial-1.1.1.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pylluvial-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.0 kB
Release files / pylluvial-1.1.1.tar.gz
| Download URL | pylluvial-1.1.1.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d077989ceff85fbe43296914d2f9a938d1bf291fdec74ad9c8b6a8400f86d791
|
|
BLAKE2b-256 checksum How to use checksums |
4246932b98666334fc91b37112e6894ef8d43ebaf0acd70d04a51e4f448632e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|
Release files / pylluvial-1.1.1-py3-none-any.whl
| Download URL | pylluvial-1.1.1-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
82b8b25e311da1cb12843ce52f7225d2ca470e13c6e8ef24432b3e1921928471
|
|
BLAKE2b-256 checksum How to use checksums |
0e675107bd736712be97afd24c0c2d03c1c840cf2048355588b05b1786186879
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|