bumplot


Namebumplot JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryEasily create and customize bump charts in Python
upload_time2025-08-24 14:08:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords bump bump plot bump charts matplotlib data visualization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            

<!-- Automatically generated, uses README.qmd to modify README.md -->

# `bumplot`: easily create and customize bump charts in Python

<img src="https://github.com/JosephBARBIERDARNAL/static/blob/main/python-libs/bumplot/image.png?raw=true" alt="bumplot logo" align="right" width="180px"/>

`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](https://y-sunflower.github.io/bumplot/)

<br> <br>

## Get started

``` python
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],
    }
)
x = "x"
y_columns = ["A", "B", "C"]

fig, ax = plt.subplots(figsize=(8, 4))
bumplot(
    x=x,
    y_columns=y_columns,
    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)
```

![](README_files/figure-commonmark/cell-2-output-1.png)

[See more examples](https://y-sunflower.github.io/bumplot/examples/)

<br> <br>

## Installation

    pip install bumplot

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bumplot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "bump, bump plot, bump charts, matplotlib, data, visualization",
    "author": null,
    "author_email": "Joseph Barbier <joseph.barbierdarnal@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/72/85/755014590f011d107dec566e541a0bd14de4faf2abed1536cd474a7818a7/bumplot-0.1.0.tar.gz",
    "platform": null,
    "description": "\n\n<!-- Automatically generated, uses README.qmd to modify README.md -->\n\n# `bumplot`: easily create and customize bump charts in Python\n\n<img src=\"https://github.com/JosephBARBIERDARNAL/static/blob/main/python-libs/bumplot/image.png?raw=true\" alt=\"bumplot logo\" align=\"right\" width=\"180px\"/>\n\n`bumplot` is a small Python package made to facilitate the creation of\n**bump charts** using matplotlib and B\u00e9zier curves. It has high\ncustomization capabilities too!\n\nBump charts are useful when the focus is on comparing **relative\nrankings**\u2014who is ahead of whom\u2014rather than the exact magnitude of the\ndifferences.\n\nCheck out the [online\ndocumentation](https://y-sunflower.github.io/bumplot/)\n\n<br> <br>\n\n## Get started\n\n``` python\nimport matplotlib.pyplot as plt\nimport pandas as pd\n\nfrom bumplot import bumplot\n\ndata = pd.DataFrame(\n    {\n        \"x\": [2020, 2021, 2022, 2023],\n        \"A\": [10, 50, 20, 80],\n        \"B\": [40, 30, 60, 10],\n        \"C\": [90, 20, 70, 40],\n    }\n)\nx = \"x\"\ny_columns = [\"A\", \"B\", \"C\"]\n\nfig, ax = plt.subplots(figsize=(8, 4))\nbumplot(\n    x=x,\n    y_columns=y_columns,\n    data=data,\n    curve_force=0.5,\n    plot_kwargs={\"lw\": 4},\n    scatter_kwargs={\"s\": 150, \"ec\": \"black\", \"lw\": 2},\n    colors=[\"#ffbe0b\", \"#ff006e\", \"#3a86ff\"],\n)\nax.legend()\nax.spines[[\"top\", \"right\", \"left\", \"bottom\"]].set_visible(False)\nax.grid(alpha=0.4)\n```\n\n![](README_files/figure-commonmark/cell-2-output-1.png)\n\n[See more examples](https://y-sunflower.github.io/bumplot/examples/)\n\n<br> <br>\n\n## Installation\n\n    pip install bumplot\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Easily create and customize bump charts in Python",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://y-sunflower.github.io/bumplot/",
        "Homepage": "https://y-sunflower.github.io/bumplot/",
        "Issues": "https://github.com/y-sunflower/bumplot/issues",
        "Repository": "https://github.com/y-sunflower/bumplot"
    },
    "split_keywords": [
        "bump",
        " bump plot",
        " bump charts",
        " matplotlib",
        " data",
        " visualization"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6318827ee431a839a1bd14de4f37dfd181764e894d562e37aa36249a167c2930",
                "md5": "d9679339915d01c71d4ab4554bf66efa",
                "sha256": "88d8f1104ae25c6b31e1895ce75fb2235d8483db64977ef0265a611b6fca0cfe"
            },
            "downloads": -1,
            "filename": "bumplot-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d9679339915d01c71d4ab4554bf66efa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 5877,
            "upload_time": "2025-08-24T14:08:09",
            "upload_time_iso_8601": "2025-08-24T14:08:09.809850Z",
            "url": "https://files.pythonhosted.org/packages/63/18/827ee431a839a1bd14de4f37dfd181764e894d562e37aa36249a167c2930/bumplot-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7285755014590f011d107dec566e541a0bd14de4faf2abed1536cd474a7818a7",
                "md5": "a1885eb44b09c6c1651a99e8c4998239",
                "sha256": "d7c62fb08476c068b81a7f5851aec77c64e0fb61e704d3c35b24b11ce22aa4fa"
            },
            "downloads": -1,
            "filename": "bumplot-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a1885eb44b09c6c1651a99e8c4998239",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 51372,
            "upload_time": "2025-08-24T14:08:11",
            "upload_time_iso_8601": "2025-08-24T14:08:11.151981Z",
            "url": "https://files.pythonhosted.org/packages/72/85/755014590f011d107dec566e541a0bd14de4faf2abed1536cd474a7818a7/bumplot-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-24 14:08:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "y-sunflower",
    "github_project": "bumplot",
    "github_not_found": true,
    "lcname": "bumplot"
}
        
Elapsed time: 1.79454s