Skip to main content

Data Analysis and Visualization using Bootstrap-Coupled Estimation.

Project description

DABEST-Python

minimal Python version PyPI version Downloads Free-to-view citation License

Recent Version Update

✨ DABEST “Bingka” v2025.10.20 for Python is now released! ✨

Dear DABEST users, The latest version of the DABEST Python library brings new visualizations, refined plots, and improved accuracy.

  1. Whorlmap 🌀: Compact visualization for multi-dimensional effects

    Introducing Whorlmap, a new way to visualize effect sizes from multiple comparisons in a compact, grid-based format.

    Whorlmaps condense information from the full bootstrap distributions of many contrast objects into a 2D heatmap-style grid of “whorled” cells. This provides an overview of the entire dataset while preserving the underlying distributional detail.

    They are especially useful for large-scale or multi-condition experiments, serving as a space-efficient alternative to stacked forest plots.

    You can generate a Whorlmap directly from multi-dimensional DABEST objects using the .whorlmap() method. See the Whorlmap tutorial for more details.

  2. Slopegraphs 📈: Enhanced summaries for paired data

    Slopegraphs for paired continuous data now display group summary statistics.

    • By default, a thick trend line connects group means, with vertical bars showing standard deviation.

    • Choose the summary type via the group_summaries argument in .plot() — options include 'mean_sd', 'median_quartiles', or None.

    • Customize appearance with group_summaries_kwargs.

    See the Group Summaries section in the Plot Aesthetics tutorial for more details.

  3. Mini-meta Weighted Delta Fix 🧮

    The weighted delta calculation in mini-meta plots has been updated for greater accuracy and consistency.

  4. Expanded custom_palette functionality 🎨

    • Barplots (unpaired, proportional): custom_palette can now take 1 and 0 as dictionary keys to color the filled and unfilled portions of the plot.

    • Slopegraphs (paired, non-proportional): custom_palette can now color contrast bars and effect-size curves.

See the Custom Palette section in the Plot Aesthetics tutorial for examples.

Thank you for your continued support!

The DABEST Development Team

Contents

About

DABEST is a package for Data Analysis using Bootstrap-Coupled ESTimation.

Estimation statistics are a simple framework that avoids the pitfalls of significance testing. It employs familiar statistical concepts such as means, mean differences, and error bars. More importantly, it focuses on the effect size of one’s experiment or intervention, rather than succumbing to a false dichotomy engendered by P values.

An estimation plot comprises two key features.

  1. It presents all data points as a swarm plot, ordering each point to display the underlying distribution.

  2. It illustrates the effect size as a bootstrap 95% confidence interval on a separate but aligned axis.

The five kinds of estimation plots

DABEST powers estimationstats.com, allowing everyone access to high-quality estimation plots.

Installation

This package is tested on Python 3.11 and onwards. It is highly recommended to download the Anaconda distribution of Python in order to obtain the dependencies easily.

You can install this package via pip.

To install, at the command line run

pip install dabest

You can also clone this repo locally.

Then, navigate to the cloned repo in the command line and run

pip install .

Usage

import pandas as pd
import dabest

# Load the iris dataset. This step requires internet access.
iris = pd.read_csv("https://github.com/mwaskom/seaborn-data/raw/master/iris.csv")

# Load the above data into `dabest`.
iris_dabest = dabest.load(data=iris, x="species", y="petal_width",
                          idx=("setosa", "versicolor", "virginica"))

# Produce a Cumming estimation plot.
iris_dabest.mean_diff.plot();

A Cumming estimation plot of petal width from the iris dataset

Please refer to the official tutorial for more useful code snippets.

How to cite

Moving beyond P values: Everyday data analysis with estimation plots

Joses Ho, Tayfun Tumkaya, Sameer Aryal, Hyungwon Choi, Adam Claridge-Chang

Nature Methods 2019, 1548-7105. 10.1038/s41592-019-0470-3

Paywalled publisher site; Free-to-view PDF

Bugs

Please report any bugs on the issue page.

Contributing

All contributions are welcome; please read the Guidelines for contributing first.

We also have a Code of Conduct to foster an inclusive and productive space.

A wish list for new features

If you have any specific comments and ideas for new features that you would like to share with us, please read the Guidelines for contributing, create a new issue using Feature request template or create a new post in our Google Group.

Acknowledgements

We would like to thank alpha testers from the Claridge-Chang lab: Sangyu Xu, Xianyuan Zhang, Farhan Mohammad, Jurga Mituzaitė, and Stanislav Ott.

Testing

To test DABEST, you need to install pytest and nbdev.

  • Run pytest in the root directory of the source distribution. This runs the test suite in the folder dabest/tests/mpl_image_tests.
  • Run nbdev_test in the root directory of the source distribution. This runs the value assertion tests in the folder dabest/tests

The test suite ensures that the bootstrapping functions and the plotting functions perform as expected.

For detailed information, please refer to the test folder

DABEST in other languages

DABEST is also available in R (dabestr) and Matlab (DABEST-Matlab).

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

dabest-2025.10.20.tar.gz (111.4 kB view details)

Uploaded Source

Built Distribution

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

dabest-2025.10.20-py3-none-any.whl (114.1 kB view details)

Uploaded Python 3

File details

Details for the file dabest-2025.10.20.tar.gz.

File metadata

  • Download URL: dabest-2025.10.20.tar.gz
  • Upload date:
  • Size: 111.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for dabest-2025.10.20.tar.gz
Algorithm Hash digest
SHA256 65dfb87b024c5d432dc09366d778479a0bf86fe21679aab94b5503fe04870610
MD5 92f20b4a7026b58456b35d36a6287f58
BLAKE2b-256 c002cad1cca752b537d2e1faaebaa8ee07bf0c8edd3de38e8c47ee821599da09

See more details on using hashes here.

File details

Details for the file dabest-2025.10.20-py3-none-any.whl.

File metadata

  • Download URL: dabest-2025.10.20-py3-none-any.whl
  • Upload date:
  • Size: 114.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for dabest-2025.10.20-py3-none-any.whl
Algorithm Hash digest
SHA256 fbc9c04eb46379e0be6655e418bb71b7204de3bac8f0f61c209d2401fc96594d
MD5 fb1c2eda90be13bff027ff37f3c919fd
BLAKE2b-256 b8ac1ef188c7d0c02a1d9b52330823d8575a9e0ec4e468b8ae7983b4b41240d9

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