boxplot with vectors of different lengths
602 views (last 30 days)
Hi MATLAB folks,
I am wondering how I can boxplot two column matrices with different lengths, e.g.
how I can do
Is there any solution to that?
Many thanks in advance, -V
Shashank Prasanna on 1 Feb 2013
BOXPLOT works with grouping variables, so you can manually append all of your data together and then create a grouping variable that lets boxplot know which belongs to first and which for second. Take a look at the example below:
>> C = [c_1 c_2];
>> grp = [zeros(1,20),ones(1,100)];
More Answers (2)
Matt Raum on 23 Mar 2017
I ran into the same issue -- here's a quick re-wrapping of boxplot that can be called on a cell array containing vectors of variable size:
boxplot2 automatically generates the necessary grouping array. All you need to pass to it is a cell array of the vectors you want box plotted.
Joey Porter on 21 Apr 2020
This is my first feedback so please forgive if I've misunderstood but I solved this issue with a simpler explanation (at least for me).
boxplot plots each columns as a separate variable (box) as long as the lengths of each column are the same.
I simply created a NaN matrix with number of rows equal to the length of my longest variable, then populated with my variable data. The NaNs are not plotted on the box plot but allows variables of unequal length to be plotted. Also to add more variables, simply increase the number of columns in your NaN array.
I hope this helps anyone returning to this thread :)