ptitprince

python version of raincloud

https://github.com/pog87/ptitprince

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

data-science hacktoberfest matplotlib python
Last synced: 6 months ago · JSON representation

Repository

python version of raincloud

Basic Info
  • Host: GitHub
  • Owner: pog87
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 12.7 MB
Statistics
  • Stars: 294
  • Watchers: 8
  • Forks: 58
  • Open Issues: 10
  • Releases: 5
Topics
data-science hacktoberfest matplotlib python
Created almost 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme Funding License

README.md

Python tests Latest PyPI release Downloads Latest conda-forge release Downloads on conda Binder

PtitPrince

A Python implementation of the "Raincloud plot"! See: 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 by cloning this repository and running the following from the root of it:

python setup.py install

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)

output

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. 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) does not allow to create new styles in a comfortable way. So I decided to write this package using the seaborn library as a foundation.

Then I replicated the plots from the original post by Micah Allen, 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".

Changelog

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

Owner

  • Name: davide poggiali
  • Login: pog87
  • Kind: user
  • Location: padova IT

Italian PostDoc, Mathematician, PhD in Neuroscience. [MRI,CT,PET,SPECT]-neuroimager 🧠, pythonist 🐍, bike-faithful 🚲, guitarist 🎸.

GitHub Events

Total
  • Issues event: 3
  • Watch event: 28
  • Issue comment event: 5
  • Fork event: 7
Last Year
  • Issues event: 3
  • Watch event: 28
  • Issue comment event: 5
  • Fork event: 7

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 87
  • Total Committers: 9
  • Avg Commits per committer: 9.667
  • Development Distribution Score (DDS): 0.575
Past Year
  • Commits: 4
  • Committers: 2
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.25
Top Committers
Name Email Commits
pog87 p****7@e****t 37
davide poggiali p****7@h****t 35
Stefan Appelhoff s****f@m****g 7
Benjamin Saljooghi b****i@g****m 3
Davide Pog p****g@m****t 1
Yann Harel y****9@g****m 1
Josh L. Espinoza j****z@g****m 1
Arnav Garg a****v@p****m 1
no_identd 1****d 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 40
  • Total pull requests: 14
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 16 days
  • Total issue authors: 37
  • Total pull request authors: 11
  • Average comments per issue: 2.38
  • Average comments per pull request: 2.0
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 1
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 8 hours
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • PierreGtch (2)
  • kgdunn (2)
  • jolespin (2)
  • lopezavila85 (1)
  • sappelhoff (1)
  • bpinsard (1)
  • posttenebre (1)
  • michaeldorner (1)
  • imronade (1)
  • fegarcia-bcam (1)
  • i-am-yuvi (1)
  • mtnouchi (1)
  • arnavgarg1 (1)
  • jediknightnapoleon (1)
  • VascoSch92 (1)
Pull Request Authors
  • sappelhoff (3)
  • tongzhouxu (2)
  • PierreGtch (2)
  • BenMazin1 (2)
  • hyruuk (1)
  • no-identd (1)
  • eneskemalergin (1)
  • benjaminsaljooghi (1)
  • kwagstyl (1)
  • jolespin (1)
  • arnavgarg1 (1)
Top Labels
Issue Labels
Pull Request Labels
hacktoberfest-accepted (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 2,016 last-month
  • Total docker downloads: 60
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 48
    (may contain duplicates)
  • Total versions: 10
  • Total maintainers: 2
pypi.org: ptitprince

A Python implementation of Rainclouds, originally on R, ggplot2. Written on top of seaborn.

  • Versions: 8
  • Dependent Packages: 3
  • Dependent Repositories: 47
  • Downloads: 2,016 Last month
  • Docker Downloads: 60
Rankings
Dependent repos count: 2.1%
Dependent packages count: 2.4%
Average: 4.0%
Docker downloads count: 4.1%
Downloads: 4.1%
Stargazers count: 4.7%
Forks count: 6.3%
Maintainers (2)
Last synced: 6 months ago
conda-forge.org: ptitprince
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.3%
Stargazers count: 27.9%
Forks count: 30.7%
Average: 33.6%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • matplotlib *
  • numpy >=1.13
  • pandas >=1.0
  • scipy *
  • seaborn ==0.11
setup.py pypi
  • PyHamcrest >=1.9.0
  • cython *
  • matplotlib *
  • numpy >=1.13
  • scipy *
  • seaborn >=0.11
.github/workflows/python_tests.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite