MATLAB: How to indicate significance in boxplots

boxplotbracketsMATLAB

Hi guys,
I would like to compare data of several groups using boxplots. Therefore, I put 4 boxes beside each other. Now I am looking for a possibility to display asterisks over the boxplots (* for p<0.05, * * for p<0.01, …) and also brackets to make clear which groups are significantly different at which level. To see what I am hoping to be able to do you can go on that page: http://www.frontiersin.org/files/Articles/1379/fnsys-04-00033-r1/image_m/fnsys-04-00033-g004.jpg (this is not my figure, but I would like to do something similar).
Do you have any idea which commands or toolboxes could be helpful in this case?
Thanks a lot!

Best Answer

I did this recently with Creating sigstar in bar graph.
For your box plot, experiment with this to get the result you want:
d = randi(10, 20, 3);
figure(1)
boxplot(d)
yt = get(gca, 'YTick');
axis([xlim 0 ceil(max(yt)*1.2)])
xt = get(gca, 'XTick');
hold on
plot(xt([2 3]), [1 1]*max(yt)*1.1, '-k', mean(xt([2 3])), max(yt)*1.15, '*k')
hold off
The ‘xt’ and ‘yt’ variables get the x-tick and y-tick values, and are then used to do the ‘sigline’ and asterisk calculations on. The axis call simply creates room at the top of the plot box for the line and asterisk.