Skip to main content

pylluvial

pypi python-version stable-version

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)

Source distribution for pylluvial 1.1.1
File Size Uploaded
pylluvial-1.1.1.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pylluvial 1.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page