Skip to main content

No project description provided

Project description

plotlywaterfall

Description

A small package adding simple waterfall plotting capabilities on top of the plotly graphing package. Waterfall graphs are useful to display e.g. financial data such ans cashflow statements in an easily digestible format.

While plotly includes basic capabilities to plot waterfall graphs, it ships only limited features. The plotlywaterfall package provides simple, plotly-express-style waterfall graphs with grouping, multiple stacked categories and variable colors.

Installation

Use pip3:

pip3 install plotlywaterfall

Usage

More examples can be found in the example notebook (https://github.com/docdru/plotlywaterfall/blob/main/example.ipynb). Let's use this dataframe for a simple yet complete example:

df = pd.DataFrame({
    "X": ["A", "B", "C"]*4 + ["D", "D" ], 
    "Y": [4, 1, 8, 7, 3, 2] + [i-1 for i in [4, 1, 8, 7, 3, 2]] + [8, 5],
    "category": ["one"]*3+["two"]*3 + ["one"]*3+["two"]*3 + ["two", "three"],
    "group": ["Group1"]*6 + ["Group2"]*6 + ["Group2", "Group3"]
})

DF

One can plot this data, with defined colors and automatic creating of total and subtotal, by using:

from plotlywaterfall.waterfall import Waterfall

colors = {
    "Group1": {"one": "red", "two": "blue"},
    "Group2": {"one": "salmon", "two": "lightskyblue"},
    "Group3": "green"
}


c = Waterfall(df, x="X", y="Y", category="category", colors=colors, group="group", total=True, subtotals={"C": "Subtotal"})
fig = c.get_fig()
fig

Resulting graph:

Example

Disclaimer

I might maintain and improve the package. I might also not.

Known open points:

  • It is not possible to have mixed signs per X-value.
  • I am note really happy with the interface for defining the colors.

Changelog

Refer to CHANGELOG.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plotlywaterfall-0.9.3.tar.gz (66.1 kB view hashes)

Uploaded Source

Built Distribution

plotlywaterfall-0.9.3-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page