Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A Shiny App for comparison of samples


About PlotsOfData

PlotsOfData visualizes data and statistics to enable the comparison of (experimental) conditions. The philosophy of the approach is that plotting the raw data (instead of a summary) improves transparency and interpretation (see also this blog). To further facilitate the comparison, summary statistics (mean, median, boxplot) and inferential statistics (confidence intervals) can be added. The user has full control over the visibility of the raw data and statistics by adjustment of the transparency (alpha). Details are described in a publication

Bootstrapping is used to calculate the (asymmetric) 95% CI of medians. More information in this blog

The data can be supplied in spreadsheet/long format (e.g. by copy-pasting from excel) or in tidy format. For more information on the conversion of spreadsheet data to tidy data see this blog.

The plot can be saved as a PDF file, which can be opened and edited with Adobe Illustrator to allow for fine adjustments of the lay-out.

Running the App

The app is available online:

But you can also run it offline in R/Rstudio. In the command line (in R or Rstudio) type shiny::runGitHub('PlotsOfData', 'JoachimGoedhart')

Or download it to use it offline:

-download the app.R and csv files with example data.

-Run RStudio and load app.R

-Select 'Run All' (shortcut is command-option-R on a Mac) or click on "Run App" (upper right button on the window)

This should launch a web browser with the Shiny app. Note that the app depends on several R packages that need to be installed (shiny, tidyverse, dplyr, ggbeeswarm, RCurl) Run this command in R/Rstudio to download and install all the packages at once: -install.packages("shiny", "tidyverse", "DT", "ggbeeswarm", "RCurl")

Background info

Videos that highlight several of the features of PlotsOfData are available on YouTube

Some aspects of the app are explained in blogs at The Node


PlotsOfData is inspired on BoxPlotR. See this link for background information on boxplots.
The code for the shiny app is partially derived from ggplotGUI by Gert Stulp
The colorblind safe palettes were developed by Paul Tol.

PlotsOfData is created and maintained by Joachim Goedhart (@joachimgoedhart)and Marten Postma

Example output

alt text