boxplot of matrix with different size

1 view (last 30 days)
Roxan
Roxan on 17 Aug 2020
Edited: Abdolkarim Mohammadi on 17 Aug 2020
I have two matrix of diferent sizes
A=9*16
B=13* 17,
I want to plot the boxplots of both matrix in one figure.
Thanks

Answers (3)

Abdolkarim Mohammadi
Abdolkarim Mohammadi on 17 Aug 2020
You want one plot for A and one plot for B, or you want plot for every column in A and B?

Roxan
Roxan on 17 Aug 2020
one plot for every column in A and B

Abdolkarim Mohammadi
Abdolkarim Mohammadi on 17 Aug 2020
A = rand (9,16);
B = rand (13,17);
[ADim1,ADim2] = size (A);
[BDim1,BDim2] = size (B);
GroupingA = strcat ("A", string(repmat(1:ADim2,[ADim1,1])));
GroupingB = strcat ("B", string(repmat(1:BDim2,[BDim1,1])));
Data = [A(:);B(:)];
Grouping = [GroupingA(:);GroupingB(:)];
boxplot (Data,Grouping);
  5 Comments
Roxan
Roxan on 17 Aug 2020
Is there any other way?
This will become a long code, consiering that I need to plot boces from each matrix with different colors!
Abdolkarim Mohammadi
Abdolkarim Mohammadi on 17 Aug 2020
Edited: Abdolkarim Mohammadi on 17 Aug 2020
You do not need to define properties for each group. Instead, you define all of the parameters at once in one command. For different colors for each group you can play with the ColorGroup property of the boxplot.
boxplot (Data,Grouping, ...
'GroupOrder',["B1","B2","A1", ...], ...
'ColorGroup', {'r','g','b', ...});

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!