PlotsOfDifferences - Plots all Of the Data and Differences

Plot Layout

Click here for more info on color names


Data upload

Upload file:
Paste data below:


Data summary

The p-value is determined by a randomization test, calculation may take some time

Data as provided

Download pdf-file Download png-file

Summary of the differences - based on means

Summary of the differences - based on medians


Summary of the data


About PlotsOfDifferences

The PlotsOfDifferences Shiny app plots the data, statistics and (optional) differences 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. 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). Finally, differences between central tendency (mean or median) can be quantified, reflecting effect size. To this end, a reference condition ('control') must be defined, which can be changed by the user. The 95%CI of the difference per condition is calculated from 1000 bootstrap samples (their distribution is shown in the difference plot) of the statistic (mean of median).
More details about the PlotsOfDifferences app can be found in our preprint.


PlotsOfDifferences is created and maintained by Joachim Goedhart (@joachimgoedhart) and Marten Postma
Bug reports and feature requests can be communicated in several ways:


Source code is available at github/JoachimGoedhart
Please cite this preprint if you use the app: "PlotsOfDifferences - a web app for the quantitative comparison of unpaired data" - doi: 10.1101/578575


PlotsOfDifferences is inspired by BoxPlotR
The display of bootstrap distributions is inspired by work of Adam Claridge-Chang: (Mohammad et al., 2017)
The code for the shiny app is partially derived from ggplotGUI by Gert Stulp
The colorblind safe palettes were developed by Paul Tol
PlotsOfDifferences would not exist without several fantastic and free R packages: shiny, ggplot2, dplyr, tidyr, readr, magrittr, ggbeeswarm, readxl, DT, RCurl, gridExtra, shinycssloaders.

Background info

Some aspects of the app are explained in blogs at The Node:
Make a difference (On the effect size as an alternative of p-values for quantifiying differences)
User-friendly p-values (On the intuitive calculation of p-values with a randomization method)
Leaving the bar (On plotting the actual data rather than summaries)
A better bar (Explains the calculation of 95% CI for the median)
Converting excellent spreadsheets to tidy data (An introduction to tidy data)
Prevent p-value parroting (Why not every graph needs a p-value)

Information about effect sizes:
Gardner M.J. & Altman D.G. (1986) Confidence intervals rather than P values: estimation rather than hypothesis testing.
Drummond G.B. & Tom B.D.M. (2011) How can we tell if frogs jump further?
Claridge-Chang A. & Assam P.N. (2016) Estimation statistics should replace significance testing.