How should I show this data instead of a bar chart?
Plot your data so the reader can see it
Showing distributions and replicate structure rather than hiding them.
A bar chart of means with error bars conceals the data it was drawn from. Wildly different distributions produce identical bars, and readers cannot tell whether you have six points or six hundred. With n below roughly fifty, plot every point. Above that, a violin or box plot with points overlaid shows the shape.
Say what the error bars are. SD describes the spread of your data; SEM describes the precision of your mean and is always smaller, which is why it is chosen more often than it is warranted. A confidence interval is usually the most honest of the three.
When technical replicates sit inside biological ones, a SuperPlot colour-codes points by experiment so the real n is visible on the figure.
What to use
- SuperPlotsOfData
Plots every replicate and every experiment, instead of hiding both in a bar.
ExternalJoachim Goedhart, University of AmsterdamFree - estimationstats.com
Estimation plots: effect size with confidence interval, not just a p-value.
ExternalHo, Tumkaya et al.Free - R and RStudio
The statistical environment nearly all biological methods are written for.
ExternalR Foundation / PositFree
If you script
Command-line and library options. No page here — they need an environment rather than a browser.
- ggplot2R package
The grammar-of-graphics plotting library for R.
- seabornPython package
Statistical plotting for Python, built on matplotlib.