I have performed 21 different experiments, which I have repeated 3 times in total (63 samples gathered). I plan to compare data using a bar plot. For bar plotting, I initially decided that I will calculate the mean over every 3 samples, and I will graph this value. However, along with the mean an important thing to state is also the standard deviation. I really do not want to include standard deviation on my graph as it will blur the results to the reader.

Of course, I can just put standard deviation into table, but this will be completely useless to regular reader.

Seeing other papers I sometimes spot that researchers do not really state how the values was gathered. Should I then assume they have conducted measurement only once?

Would it be ethical to not inform the reader that I plot the mean on my graphs? Any other suggestions are welcome.

  • 15
    Standard deviations do not "blur the results to the reader"; they inform the reader about important information about the variability in your data. Commented Jan 28, 2016 at 15:15
  • 2
    I think you're vastly underestimating your readers by assuming that the standard deviation is useless information to them. It's probably some of the most crucial information you could include. Commented Jan 28, 2016 at 21:43
  • @JackAidley ChrisHayes I can't disagree with you. See my current barplot (ibin.co/2V6lTIjnvPsb) Imagine it combined with the SDs. To make the madness even higher, please be aware I have four such graphs currently. I hope you can now see my point of view - IMO this would look terrible. Maybe dotchart as proposed by StephanKolassa is a way to go.
    – MAQ
    Commented Jan 29, 2016 at 8:52
  • @KWubbufetowicz: It would look a lot less terrible than it looks without them. Also take the exact numbers off the chart. You don't need them and they needlessly clutter the data. Commented Jan 29, 2016 at 8:53
  • Put the exact numbers into a table in the supplementary online material. Switch the order of the legend so the colors in the legend are the same as the data. The y axis is unclear, can you make it more informative? And yes, use a dotchart! (I'll never use ggplot2 because of the ghastly grey background, but lots of people seem to be happy with it. I'd recommend looking at this.) Commented Jan 29, 2016 at 9:44

2 Answers 2


Don't do this.

Here is some random data with 21 experiments A-U, each one repeated 3 times. In both cases, the experimentwise means (indicated using red crosses) are identical, but the within-experiment standard deviations are very different (1.0 in the top graph and 0.2 in the bottom one). R code is below.

random data

Just seeing the experimentwise means is very misleading. In the bottom case, the experiments seem to be pretty different, and you could start interpreting the differences between them. In the top case, it's rather obvious that the difference between experiments is dominated by the variance within experiments. Put differently: the proportion of variance explained by the experiments is very different between the two cases.

This is a crucial piece of information. Do not leave it out. Leaving the variability out does not "blur the results to the reader" - the variability may be more important than the means.

In particular, remember that most readers will only look at your graphics, and even if they do read the text, the main thing they will remember will be the graphic. If you only put the means there, readers will remember the means. They won't remember whether the standard deviations were large or small compared to the differences in means.

So: look for a way to visualize both means and variability. For starters, don't use bar plots. Use, for example, dotcharts as I did. With your small dataset, you can without problems plot all your data, plus means.

If you want to emphasize the means, you can do all kinds of things involving colors, shapes or sizes. For instance, I used smaller grey dots for the observations so the means (larger red crosses) stood out more. And I used vertical lines to indicate experiments, and these lines are a lighter shade of grey than the dots.

Note that the human brain is better at interpreting positions (as in a dot chart) than lengths (as in a barplot). Nor should you use so-called "dynamite plots", that is, bar plot with "whiskers" that indicate standard deviations (or standard errors of estimated means - one problem with dynamite plots is that it is not always indicated whether whiskers give SDs or SEMs, and these are very different things).

See here and here for more on dynamite plots. This earlier answer of mine gives a few more options for visualizing data.

R code:

experiments <- LETTERS[1:21]
set.seed(1); means <- runif(21)
obs <- list()
set.seed(1); obs[[1]] <- matrix(rnorm(63,0,1),ncol=3,byrow=FALSE)
set.seed(1); obs[[2]] <- matrix(rnorm(63,0,0.2),ncol=3,byrow=FALSE)

opar <- par(mfrow=c(2,1),mai=c(.8,.8,.1,.1))
    for ( ii in 1:2 ) {
        obs[[ii]] <- obs[[ii]]+means-rowMeans(obs[[ii]])
  • 1
    Good answer; but I think the problem is not intrinsic to dynamite or whiskers plots, but to the person plotting them not specifying what they mean.
    – Davidmh
    Commented Jan 28, 2016 at 14:40
  • 5
    @Davidmh: if the plotter (pun intended) does not specify whether whiskers indicate SDs or SEMs, that is indeed one problem. However, dynamite plots inherently compress information, which is a problem all by itself for small $n$, quite independently of the author's annotating them or not. Commented Jan 28, 2016 at 14:42
  • +1 for explaining what (not) to do and why, as well as answering the question (including code). Commented Jan 28, 2016 at 14:50
  • 1
    Adding to @StephanKolassa 's excellent points, another reason to show all the data is that there could easily be outliers that might be very interesting. (Also, note that Stephen's plot does not include the SD because it does not need to. It shows all the data without being cluttered).
    – Peter Flom
    Commented Jan 28, 2016 at 16:07
  • @StephanKolassa, thank you for the directions. Your answer is very useful and informative. I have been looking for a suitable way to represent my data, but as the R noobie I have ultimately fallen back to barplots. The dotchart proposal seems to be well suited to my problem - I will give it a try. BTW, thanks for the R code!
    – MAQ
    Commented Jan 29, 2016 at 9:09

I have run into exactly the same situation, where I wished to plot means but not standard deviations, in order to show the data in a less cluttered manner. How I dealt with this problem was:

  • In the main text, put the plot that I felt most communicative, i.e., with only the means.
  • Attach the more cluttered plot that included the standard deviations as supplementary material, so that all the information was available to the reader if they want it, and it's clear I wasn't hiding anything.
  • When discussing the figure in the main text, explain exactly what I did and give a pointer, something like "Only means are shown here, for clarity; full information is in Supplementary Figure XX."

In short: you can present things as clearly as you like, and also should not try to hide anything.

  • Although, the community seems to value the other answer much more - I am also satisfied with yours. I will see how my data will present with dotchart as Stephan Kolassa proposes. If this will be looking poorly I will fall back to into your suggestion. Anyway - thanks!
    – MAQ
    Commented Jan 29, 2016 at 9:15
  • @KWubbufetowicz The dot chart is a good way of dealing with moderate density datasets. For very high visual density (e.g., the data in Supp.Fig 5-12 of this supplementary, in which the means already pretty much fill the graph, a dot chart would not be sufficient. For your case, where you've got only 21 bars, the dot chart will probably work well, though.
    – jakebeal
    Commented Jan 29, 2016 at 12:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .