Solved – Data visualization of average and standard deviation over a small time series

data visualizationmany-categoriesrtime series

I am trying to find the best way to visualize the following data:

I have values for 3 different times/dates, each time/date has the same 20 species. For each species I have the average height and standard deviation (that was obtained from n observations). I don't have the observations from where the average and standard deviation was obtained.

This is how the data looks like. Species are numerated from 1 to 20.

t1 = cbind(seq(1,20,1),runif(20,0.5,5.0),runif(20,0,1.0))
t2 = cbind(seq(1,20,1),runif(20,0.9,6.0),runif(20,0.2,1.5))
t3 = cbind(seq(1,20,1),runif(20,0.1,8.5),runif(20,0.4,1.0))

Can anyone give any advice on what would be the best plot/graphic to use? I want to show the evolution of the average and standard deviation in time, however I don't want to do a line plot, and for a heat map I have a small dataset.

Best Answer

Why not a line plot? A line plot seems pretty fitting if you'd like to show general trends in mean and SD provided individual specie is not the focal point.


Anyway, here is an alternative, which strictly speaking is still a line plot but time is not one of the axes. It is also good for discussing individual species. x-axis is your variable 1 (I guessed that's mean), y-axis is the variable 2 (SD).

enter image description here


And yes, heat map maybe too much, but I think it's worth a try to show 3D kernel density if you can provide the actual data as well. Codes are taken from this thread.

enter image description here


Another possibility is to make three plots:

  1. t1 SD vs. mean, use black symbol
  2. t1 SD vs. mean, but this time the symbol turned to light grey; overlay t2 SD vs. mean, use black symbol. Connect each species pair with an arrow.
  3. t2 SD vs. mean, but this time the symbol turned to light grey; overlay t3 SD vs. mean, use symbol. Connect each species pair with an arrow.