Skip to main content

plotsalot

plotsalot is an independent Python library for statistical visualizations with structured, extractable results. It provides Polars-first analysis workflows and Matplotlib figures inspired by the public behavior of ggstatsplot.

The project is pre-1.0 alpha software. Its classical, robust, Bayesian, categorical, coefficient, and meta-analysis families have passed their recorded M0–M6 technical and statistical gates, but M7 compatibility closure and 1.0 hardening remain. Do not treat a successful computation or plot as automatic validation of a statistical model or a substantive conclusion.

Install

Plotsalot supports Python 3.11 and newer on Linux and macOS. After the first PyPI release:

python -m pip install plotsalot

For development from a checkout:

make setup

R and Docker are development-only oracle tools. They are not package runtime dependencies.

Quick start

import polars as pl

from plotsalot import gghistostats

data = pl.DataFrame({"value": [1.0, 2.0, 3.0, 4.0, 5.0]})
plot = gghistostats(data, "value", test_value=0.0)

print(plot.result.to_dict())
plot.figure.savefig("histogram.svg")

Each plotting function returns a typed container with a Matplotlib figure, named axes, annotations, and a structured result. Analysis and rendering can also be separated so visual changes do not recompute statistics:

from plotsalot import analyze_gghistostats, render_gghistostats

analysis = analyze_gghistostats(data, "value", test_value=0.0)
plot = render_gghistostats(analysis, title="Observed values")
plot.axes["main"].grid(axis="y", alpha=0.2)

Find the right documentation

Need Go to
Complete a first analysis Getting started
Choose a plot or analysis family User guide
Interpret results and failure boundaries Interpretation and limitations
Understand result and rendering contracts Contracts
Compare behavior with ggstatsplot Compatibility matrix
Review statistical definitions Statistical methods index
Reproduce tests, oracles, and benchmarks Reproducibility
Contribute a change Contributing

Supported workflow families

  • one-sample histograms and labeled dot plots;
  • scatter plots and correlation matrices;
  • independent- and repeated-group comparisons;
  • categorical bar and pie analyses;
  • coefficient and aggregate meta-analysis plots;
  • atomic grouped variants, plot composition, and local themes; and
  • explicit classical, fixed-trim robust, and approved Bayesian modes where listed in the compatibility matrix.

The implementation is adapted rather than a drop-in port. It uses explicit column names, typed Python results, owned NumPy boundaries, and Matplotlib rendering. Unsupported modes fail explicitly; grouped operations do not return partial results.

Development

make setup
make check
make audit
make build

The default quality gate runs formatting, linting, strict type checking, the test suite, coverage enforcement, and documentation-link checks. Frozen R-oracle and benchmark evidence are verified by the normal tests; regenerating them is an explicit operation:

make oracle
make benchmark

See the documentation index for project plans, decisions, method specifications, and retained verification evidence.

Project identity and license

Plotsalot is an independent project and is not endorsed by or affiliated with the ggstatsplot maintainers. The upstream project is used as a pinned behavioral reference under the adaptation rules recorded in the repository.

Plotsalot is MIT licensed. See LICENSE and ADR-010 for the accepted distribution and upstream-notice rules. Report security concerns according to SECURITY.md.

Download files

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

Source Distribution

plotsalot-0.1.1.tar.gz (671.6 kB view details)

Uploaded Source

Built Distribution

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

plotsalot-0.1.1-py3-none-any.whl (175.3 kB view details)

Uploaded Python 3

File details

Details for the file plotsalot-0.1.1.tar.gz.

File metadata

  • Download URL: plotsalot-0.1.1.tar.gz
  • Upload date:
  • Size: 671.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for plotsalot-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a30a9b6bdfe2449e797ac2c8120d882af091bc3ec7af6d0e530af6b45fe5a67e
MD5 84557e6366adeb92b24bd5e3e90bd756
BLAKE2b-256 dbfbdc8387214d2c8f5f04dd313b51c109967fa59a0096bcf76aa9a70e3920ed

See more details on using hashes here.

File details

Details for the file plotsalot-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: plotsalot-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 175.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for plotsalot-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6aad6fcadbaa242daa1cdba63c4e2dc300c83448f163989279c0e8b96748262c
MD5 ace3539615db0e5af7ff5d85c3439ff9
BLAKE2b-256 ddfba1efee8ba16497d11dd5db3e8c58d77b6663a2a1ef27756a17bbf37870d3

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.0

2 files

This release

0.1.1 This release

2 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