How to have more than one box plot in one plot?

Hey all,
I'm unable to plot more than one box plot in one figure. My data sets are seven n x 1 double (every double array of this seven and I have 7 of them which I want to have boxplots for every 7 data set in one figure, something like this:
Sample data are provided, I have 7 file like this
Thank you all.

 Accepted Answer

4 Comments

Thank you. I saw this code from you and it's amazing. In the example in the link you used
data = rand(100, 4);
I have different sizes of arrays like this: 27360 x 1 and 28520 x 1 and 29542 x 1; (All have one column and different row numbers). Do you know how I can do in that case? I think I should do this without for loop though I haven't idea how to do this.
Thanks
This show you an example of how you can do it using cell array
data = {y1,y2,y3,y4,y5,y7,y6}; % y1, y2, y3, ..., y7 are the variables, they can be of unequal length
x = 1:numel(data);
colors = rand(numel(data), 3);
figure();
ax = axes();
hold(ax);
for i=1:numel(data)
boxchart(x(i)*ones(size(data{i})), data{i}, ...
'BoxFaceColor', colors(i,:), ...
'LineWidth', 0.5, ...
'WhiskerLineStyle', '--')
end
Thank you it's awesome.

Sign in to comment.

More Answers (1)

Concatenating your data into one matrix should do the trick.
Let's say you load two arrays:
load('y.mat');
load('x.mat');
% Concatenate them to a matrix named z
z = [x,y];
% Create a boxplot
boxplot(z);

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products

Release

R2020a

Tags

Asked:

BN
on 5 Apr 2020

Commented:

on 5 Apr 2020

Community Treasure Hunt

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

Start Hunting!