| Name | ptitprince JSON |
| Version |
0.3.1
JSON |
| download |
| home_page | None |
| Summary | A Python implementation of Rainclouds, originally on R, ggplot2. Written on top of seaborn. |
| upload_time | 2025-10-06 09:23:00 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.9 |
| license | None |
| keywords |
data visualization
raincloud plots
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
[](https://github.com/pog87/PtitPrince/actions/workflows/python_tests.yml)
[](https://www.python.org/downloads/)
[](https://pypi.org/project/ptitprince/)
[](https://pepy.tech/project/ptitprince)
[](https://anaconda.org/conda-forge/ptitprince/)
[](https://anaconda.org/conda-forge/ptitprince/badges)
[](https://mybinder.org/v2/gh/RainCloudPlots/RainCloudPlots/master?filepath=tutorial_python%2Fraincloud_tutorial_python.ipynb)
# PtitPrince
A Python implementation of the "Raincloud plot"!
See: [https://github.com/RainCloudPlots/RainCloudPlots](https://github.com/RainCloudPlots/RainCloudPlots)
## Installation
You can install it via `pip`:
```
pip install ptitprince
```
or via `conda`:
```
conda install -c conda-forge ptitprince
```
or directly from GitHub
```
pip install git+https://github.com/pog87/PtitPrince
```
## Academic use
To **cite Raincloud plots** please use the following information:
> Allen M, Poggiali D, Whitaker K et al. Raincloud plots: a multi-platform tool for robust data visualization [version 2; peer review: 2 approved]. Wellcome Open Res 2021, 4:63 (https://doi.org/10.12688/wellcomeopenres.15191.2)

## History of this project
This is a Python version of the "Raincloud plot" (or "PetitPrince plot", depending on the orientation) from R (under ggplot2) to Python.
The Raincloud plot is a variant of the violin plot written in R ggplot2 by [Micah Allen](https://web.archive.org/web/20210131133630/https://micahallen.org/2018/03/15/introducing-raincloud-plots/).
I found a tweet asking for a Python version of the Raincloud plot, and I agreed to give it a try.
Alas, the Python version for ggplot2 ([plotnine](https://github.com/has2k1/plotnine)) does not allow to create new styles in a comfortable way.
So I decided to write this package using the [seaborn](https://seaborn.pydata.org/) library as a foundation.
Then I replicated the plots from the original post by [Micah Allen](https://web.archive.org/web/20210131133630/https://micahallen.org/2018/03/15/introducing-raincloud-plots/), in Jupyter Notebooks and transformed that code into a Python package.
Since then, the package has received some publicity, and is for example listed in ["awesome-python-data-science"](https://github.com/thomasjpfan/awesome-python-data-science).
### Changelog
See [CHANGELOG.md](CHANGELOG.md) for detailed version history.
#### v.0.3.1
* Modern packaging with pyproject.toml
* Comprehensive test suite with 89% coverage
* Python 3.9-3.12 support
* Removed default palette to avoid seaborn 0.14 warnings
* Pre-commit hooks and code quality improvements
#### v.0.3.0
* Seaborn 0.13.2 compatibility
* Fixed raincloud component alignment with hue
* Improved dodge alignment and axis labels
#### v.0.2.x
* PtitPrince now relies on seaborn 0.10 and numpy >= 1.13
* kwargs can be passed to the [cloud (default), boxplot, rain/stripplot, pointplot]
by preponing [cloud_, box_, rain_, point_] to the argument name.
* End of support for python2, now the support covers python>=3.6
## Plans for the future:
* ~~ask seaborn mantainers to add this new plot type~~ (not gonna happen)
* ~~add a "move" option in seabon to control the positioning of each plot, as in ggplot2.~~ (either, added in ptitprince)
* ~~get RainCloud published~~ (done!)
* add logarithmic density estimate (LDE) to the options for the cloud
* add the repeated measure feature
Raw data
{
"_id": null,
"home_page": null,
"name": "ptitprince",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "data visualization, raincloud plots",
"author": null,
"author_email": "Davide Poggiali <davide.poggiali@unipd.it>",
"download_url": "https://files.pythonhosted.org/packages/3b/d5/7ce2fd2f19d1559a04dc8a91af137320d6f32f78b9aa65e3d0d5eaa46fa3/ptitprince-0.3.1.tar.gz",
"platform": null,
"description": "[](https://github.com/pog87/PtitPrince/actions/workflows/python_tests.yml)\n[](https://www.python.org/downloads/)\n[](https://pypi.org/project/ptitprince/)\n[](https://pepy.tech/project/ptitprince)\n[](https://anaconda.org/conda-forge/ptitprince/)\n[](https://anaconda.org/conda-forge/ptitprince/badges)\n[](https://mybinder.org/v2/gh/RainCloudPlots/RainCloudPlots/master?filepath=tutorial_python%2Fraincloud_tutorial_python.ipynb)\n\n# PtitPrince\n\nA Python implementation of the \"Raincloud plot\"!\nSee: [https://github.com/RainCloudPlots/RainCloudPlots](https://github.com/RainCloudPlots/RainCloudPlots)\n\n## Installation\n\nYou can install it via `pip`:\n\n```\npip install ptitprince\n```\n\nor via `conda`:\n\n```\nconda install -c conda-forge ptitprince\n```\n\nor directly from GitHub\n\n```\npip install git+https://github.com/pog87/PtitPrince\n```\n\n## Academic use\n\nTo **cite Raincloud plots** please use the following information:\n\n> Allen M, Poggiali D, Whitaker K et al. Raincloud plots: a multi-platform tool for robust data visualization [version 2; peer review: 2 approved]. Wellcome Open Res 2021, 4:63 (https://doi.org/10.12688/wellcomeopenres.15191.2)\n\n\n\n## History of this project\n\nThis is a Python version of the \"Raincloud plot\" (or \"PetitPrince plot\", depending on the orientation) from R (under ggplot2) to Python.\nThe Raincloud plot is a variant of the violin plot written in R ggplot2 by [Micah Allen](https://web.archive.org/web/20210131133630/https://micahallen.org/2018/03/15/introducing-raincloud-plots/).\nI found a tweet asking for a Python version of the Raincloud plot, and I agreed to give it a try.\nAlas, the Python version for ggplot2 ([plotnine](https://github.com/has2k1/plotnine)) does not allow to create new styles in a comfortable way.\nSo I decided to write this package using the [seaborn](https://seaborn.pydata.org/) library as a foundation.\n\nThen I replicated the plots from the original post by [Micah Allen](https://web.archive.org/web/20210131133630/https://micahallen.org/2018/03/15/introducing-raincloud-plots/), in Jupyter Notebooks and transformed that code into a Python package.\n\nSince then, the package has received some publicity, and is for example listed in [\"awesome-python-data-science\"](https://github.com/thomasjpfan/awesome-python-data-science).\n\n### Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed version history.\n\n#### v.0.3.1\n\n * Modern packaging with pyproject.toml\n * Comprehensive test suite with 89% coverage\n * Python 3.9-3.12 support\n * Removed default palette to avoid seaborn 0.14 warnings\n * Pre-commit hooks and code quality improvements\n\n#### v.0.3.0\n\n * Seaborn 0.13.2 compatibility\n * Fixed raincloud component alignment with hue\n * Improved dodge alignment and axis labels\n\n#### v.0.2.x\n\n * PtitPrince now relies on seaborn 0.10 and numpy >= 1.13\n * kwargs can be passed to the [cloud (default), boxplot, rain/stripplot, pointplot]\n by preponing [cloud_, box_, rain_, point_] to the argument name.\n * End of support for python2, now the support covers python>=3.6\n\n## Plans for the future:\n\n * ~~ask seaborn mantainers to add this new plot type~~ (not gonna happen)\n * ~~add a \"move\" option in seabon to control the positioning of each plot, as in ggplot2.~~ (either, added in ptitprince)\n * ~~get RainCloud published~~ (done!)\n * add logarithmic density estimate (LDE) to the options for the cloud\n * add the repeated measure feature\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python implementation of Rainclouds, originally on R, ggplot2. Written on top of seaborn.",
"version": "0.3.1",
"project_urls": {
"Homepage": "https://github.com/pog87/PtitPrince",
"Issues": "https://github.com/pog87/PtitPrince/issues",
"Repository": "https://github.com/pog87/PtitPrince"
},
"split_keywords": [
"data visualization",
" raincloud plots"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3bd57ce2fd2f19d1559a04dc8a91af137320d6f32f78b9aa65e3d0d5eaa46fa3",
"md5": "6005dcc681c3b19e158fd78916a4a54e",
"sha256": "2840a3a1d8daba6567c15ce192d683da75a5d2b648451a1a26b271485b70254d"
},
"downloads": -1,
"filename": "ptitprince-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "6005dcc681c3b19e158fd78916a4a54e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 4239087,
"upload_time": "2025-10-06T09:23:00",
"upload_time_iso_8601": "2025-10-06T09:23:00.379568Z",
"url": "https://files.pythonhosted.org/packages/3b/d5/7ce2fd2f19d1559a04dc8a91af137320d6f32f78b9aa65e3d0d5eaa46fa3/ptitprince-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 09:23:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pog87",
"github_project": "PtitPrince",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ptitprince"
}