Skip to main content

A collection of recipes that can be used together with the seaborn library to create custom plots.

Project description

Seaborn Objects Recipes

PyPI Python versions CI Docs

📘 About

seaborn_objects_recipes is a Python package that extends the functionality of the Seaborn library, providing custom recipes for enhanced data visualization. This package includes below features to augment your Seaborn plots with additional capabilities.

[!TIP] For the full gallery and API, see the docs: API-Gallery Docs

📊 Combined Example: Rolling + LOWESS + Direct Line Labels

This example shows how multiple recipes can be layered to clarify noisy time-series data. We generate two synthetic series (sin and cos), apply a short-window rolling mean to smooth local fluctuations, overlay a LOWESS curve to reveal the long-term structure, and add LineLabel to place direct text labels at the right edge of each line.

This pattern is useful when you want:

  • Local smoothing (Rolling) to reduce short-term noise
  • Nonparametric smoothing (Lowess) to reveal global trends
  • Direct labeling (LineLabel) to avoid legends and improve readability in multi-series plots

Together, these transforms produce a clean, interpretable visualization that emphasizes both local variation and overall structure — ideal for exploratory time-series analysis, sensor measurements, economic indicators, or any repeated noisy signal.

    import seaborn.objects as so
    import seaborn_objects_recipes as sor
    import seaborn as sns
    import numpy as np
    import pandas as pd

    # ---- Example data ----
    np.random.seed(42)
    x = np.linspace(0, 10, 200)
    y1 = np.sin(x) + np.random.normal(scale=0.25, size=len(x))
    y2 = np.cos(x) + np.random.normal(scale=0.25, size=len(x))

    df = pd.DataFrame(
        {
            "x": np.tile(x, 2),
            "y": np.concatenate([y1, y2]),
            "series": np.repeat(["sin", "cos"], len(x)),
        }
    )

    (
        so.Plot(df, x="x", y="y", color="series", text="series")
        # Rolling-smoothed line
        .add(so.Line(), rolling := sor.Rolling(window=8, agg="mean"),legend=False,)
        # LOWESS-smoothed line (overlaid)
        .add(so.Line(), sor.Lowess(frac=0.25),legend=False,)
        # Direct labels at the right edge of each series
        .add(sor.LineLabel(offset=8), rolling)
        .layout(size=(10, 4))
        .label(
            title="Smoothed Sin/Cos Time Series with Direct Labels",
            x="x",
            y="Smoothed value",
        )
        .show()
    )

example_plot

⚙️ Installation

To install seaborn_objects_recipes, run the following command:

pip install seaborn_objects_recipes

✉️ Contact

For questions or feedback regarding seaborn_objects_recipes, please contact Ofosu Osei.

🌟 Credits

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

[!IMPORTANT] Quick Checklist:

  • ✅ Distinct x-value count valid for LOWESS (frac ≥ 2/n)
  • ✅ CI columns present (ymin, ymax) when bootstrapping is on
  • ✅ alpha respected and bootstraps defaulted if unset

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

seaborn_objects_recipes-0.2.2.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seaborn_objects_recipes-0.2.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file seaborn_objects_recipes-0.2.2.tar.gz.

File metadata

  • Download URL: seaborn_objects_recipes-0.2.2.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.2 Darwin/25.3.0

File hashes

Hashes for seaborn_objects_recipes-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3223006227d2b62789422ff29db7628a025c9e3435d759aee6c0a47ba26ce717
MD5 c89131081793968153ccce179ffa1e5f
BLAKE2b-256 77287fb435ebd5fa9d11d300462f1c470d7c547e18032a039c73d6d54507e876

See more details on using hashes here.

File details

Details for the file seaborn_objects_recipes-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for seaborn_objects_recipes-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe1584bb95d8b859d6198116ad6bfdb4586564ad3d697c3cda693ac85e9a8d19
MD5 b9b94473cce5ecc74873eaff0f73ad5e
BLAKE2b-256 d02d018148acf017cc5c22140d338a32c236a19ce871b1ef325b502f1287018b

See more details on using hashes here.

Supported by

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