Skip to main content

bumplot: easily create and customize bump charts in Python

bumplot logo

bumplot is a small Python package made to facilitate the creation of bump charts using matplotlib and Bézier curves. It has high customization capabilities too!

Bump charts are useful when the focus is on comparing relative rankings—who is ahead of whom—rather than the exact magnitude of the differences.

Check out the online documentation



Get started

import matplotlib.pyplot as plt
import pandas as pd

from bumplot import bumplot

data = pd.DataFrame(
    {
        "x": [2020, 2021, 2022, 2023],
        "A": [10, 50, 20, 80],
        "B": [40, 30, 60, 10],
        "C": [90, 20, 70, 40],
    }
)

fig, ax = plt.subplots(figsize=(8, 4))
bumplot(
    x="x",
    y_columns=["A", "B", "C"],
    data=data,
    curve_force=0.5,
    plot_kwargs={"lw": 4},
    scatter_kwargs={"s": 150, "ec": "black", "lw": 2},
    colors=["#ffbe0b", "#ff006e", "#3a86ff"],
)
ax.legend()
ax.spines[["top", "right", "left", "bottom"]].set_visible(False)
ax.grid(alpha=0.4)

See more examples



Installation

pip install bumplot



Features

  • Automatic ranking of your data (with support for both pandas and polars)
  • Accept categorical data for x-axis
  • Infinite customization capabilities
  • Easy control of the curvature intensity

Metadata

Release files for bumplot 0.2.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 bumplot 0.2.1
File Size Uploaded
bumplot-0.2.1.tar.gz 100.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bumplot 0.2.1
File Interpreter ABI Platform
bumplot-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 108.9 kB

Release files / bumplot-0.2.1.tar.gz

Download URL bumplot-0.2.1.tar.gz
Size 100.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2e395d35a2df7c0ed8595c32a960d0d6e5dfffabda751194ccf07b6581a6945a
BLAKE2b-256 checksum
How to use checksums
228b584fa73adfa5478e827344e4b20074ed50a4af87f0499cf40e799f18b70c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 28, 2026.

Transparency log

Release files / bumplot-0.2.1-py3-none-any.whl

Download URL bumplot-0.2.1-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e99414f2fb402bad4654bb8e31e4873d43316dcf4d067113a160b4dc8ae16b76
BLAKE2b-256 checksum
How to use checksums
1be270ac5746af9f9ce87742e0e49e53c9f1d35589aaf4a55312d60100601fb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.1.1

2 release files

0.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