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:
Click here for more info on tidy data


Data summary

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

Data as provided

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).


PlotsOfDifferences is created and maintained by Joachim Goedhart (@joachimgoedhart) and Marten Postma
Source code is available at github/JoachimGoedhart


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.

Further reading

Some aspects of the app are explained in blogs at The Node:
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.