Plot Code




About this app

Raincloud-shiny is a Shiny-powered web GUI interface to create RainCloudPlots. The idea behind Raincloud plots was introduced by Micah Allen on his blog. My coworkers and I found it really interesting to display our data, so I made this shiny app to provide a smooth transition to R and ggplot.

More information about Raincloud plots can be found on the in the published article. Please cite it if you use it in any kind of publication:

Allen M, Poggiali D, Whitaker K et al.
Raincloud plots: a multi-platform tool for robust data visualization [version 1; peer review: 2 approved].
Wellcome Open Res 2019, 4:63 ( https://doi.org/10.12688/wellcomeopenres.15191.1)

Other Online Plotting Applications

There are a few other online applications that can be used to plot data in a coherent and statistically valid way, such as:

Open Source

The source code for this Shiny app can be found in Github.

You are free to provide any feedback or report on the Github page, or directly ping me in twitter.


The code of RainCloud-Shiny makes use / is inspired by the following open source projects:

  • RainCloudPlots: The original code provided by the manuscript authors.
  • RShiny: The shinythemes package provides some Bootstrap themes for use with Shiny.
  • ShinyThemes: Shiny is an R package that makes it easy to build interactive web apps straight from R.
  • shinycssloaders:Add loader animations (spinners) to Shiny Outputs in an automated fashion.
  • shinyWidgets: An extension of the default widgets available in Shiny.
  • Tidyverse: An opinionated collection of R packages designed for data science. This app makes use of the following packages to wrangle and display data:
  • geom_flat_violin.R: a ggplot2 extension to make one side flat violins.
  • Cowplot: Create publication-ready figures.
  • RColorBrewer: Provides Color Theme Palettes designed by Cynthia Brewer as described at Colorbrewer 2.0.
  • ggsci: Scientific Journal and Sci-Fi Themed Color Palettes for ggplot2
  • ggpubr: Makes it possible to automatically add p-values and significance levels.
  • ggbeeswarm: Provides methods to create beeswarm-style plots using ggplot2.
  • Hmisc: Miscellaneous utilities from Frank Harrell. Here used to calculate the 95% Confidence Intervals.