Why isn't there any simple command to create a grouped boxplot in MATLAB yet?

I am trying to plot a grouped boxplot on MATLAB but surprisingly Excel can do better!Can anyone suggest the best way to create a grouped boxplot as easy as making one for barchart?

 Accepted Answer

Sure, there is matlab function specific for this: http://www.mathworks.com/help/stats/boxplot.html
load carsmall
boxplot(MPG,Origin)
title('Miles per Gallon by Vehicle Origin')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')

4 Comments

I mean something like this... Like in a barplot you can join two categories together, and you can plot few different parameters within one plot
Inspect the help page of the boxplot function, by using CELL input arguments (e.g., for "grouping variables" argument) you can easily obtain the results that you are showing.
Just as an example:
data = rand(20,24);
month = repmat({'jan' 'feb' 'mar' 'apr' 'may' 'jun' 'jul' 'aug' 'sep' 'oct' 'nov' 'dec'},1,2);
simobs = [repmat({'sim'},1,12),repmat({'obs'},1,12)];
boxplot(data,{month,simobs},'colors',repmat('rb',1,12),'factorgap',[5 2],'labelverbosity','minor');
Does the data needs to be the same size? What if we have different size?
According to what I know, yes they must have the same size. The reason is that, the boxplot helps visualizing different feature distributions of the same dataset of samples. Assume you have 100 observed animals, and for any of them you observe height, weigth. Then your data will be 100x2 matrix.
However, if you really need to explain different sized data, here is how to do it: https://it.mathworks.com/matlabcentral/answers/60818-boxplot-with-vectors-of-different-lengths

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!