Hi everyone
How can I compaine two boxplots in the same figure for this code?
figure
sgtitle('main graph')
subplot(1,2,1);
boxplot(X,'first')
ylabel('timer')
grid on
subplot(1,2,2);
boxplot(Y,'Second')
ylabel('timer')
grid on
I've tried used solution in below link but still I have problem:
I've tried:
figure
hold on
x=[X;Y];
boxplot(x(1,:),'first')
boxplot(x(2,:),'secondl')
hold off
ylabel('timer')
title('main graph')
also I've tried this solution but still there are error
= [16 20 15 17 22 19 17]';
B = [22 15 16 16 16 18]';
C = [23 9 15 18 13 27 17 14 16 15 21 19 17]';
group = [ ones(size(A));
2 * ones(size(B));
3 * ones(size(C))];
figure
boxplot([A; B; C],group)
set(gca,'XTickLabel',{'A','B','C'})

4 comentarios

Adam Danz
Adam Danz el 11 de Feb. de 2022
Welcome to the forum @NOUF ALHARBI. I've formatted your code using the the rich text editor but I haven't changed any of it. You'll notice some errors in red which are probably copy-paste errors.
Anyway, it's unclear how you would like to combine the boxplots and how many are in each group. An image would be nice, or at least a description.
Using a grouping variable is one option. Another option is using the "positions" property.
NOUF ALHARBI
NOUF ALHARBI el 11 de Feb. de 2022
Hi Adam thank you so much,
I've two array I can put them in subplot as boxplot but I need to put it them in the same figue.
Adam Danz
Adam Danz el 11 de Feb. de 2022
Thanks, but it's still not clear. Let's say subplot A has 3 boxs and subplot B has 3 boxs. Do you want
[AB AB AB] or [ABABAB]
or
[AAA BBB] or [AAABBB]?
Adam Danz
Adam Danz el 11 de Feb. de 2022
NOUF ALHARBI's answer moved here as a comment
----------------------------------------------------------------------
Subplot A has 1 box and subplot B has 1 box so just I want [A B]
but apeared to me like this:

Iniciar sesión para comentar.

 Respuesta aceptada

Adam Danz
Adam Danz el 11 de Feb. de 2022
Method 1: set position along x-axis
Use the positions property in boxplot to set the box x-coordinates.
A = rand(10,1);
B = rand(8,1);
hold on
boxplot(A, 'Positions', 1)
boxplot(B, 'Positions', 2)
% Set desired xtick, xticklabels, and xlim
set(gca,'XTickMode','auto','XTickLabelMode','auto','XLimMode','auto')
Method 2: Combine columns of data
Vectors must have the same length. Pad shorter vectors with NaN values to equate lengths, if necessary.
A = rand(10,1);
B = rand(10,1);
data = [A(:),B(:)];
figure
boxplot(data)

4 comentarios

NOUF ALHARBI
NOUF ALHARBI el 11 de Feb. de 2022
Many thanks Adam Danz, but how can I change names in x-coordinates? I want right the name of each .
I used this
A = rand(10,1);
B = rand(8,1);
hold on
boxplot(A, 'Positions', 1)
boxplot(B, 'Positions', 2)
% Set desired xtick, xticklabels, and xlim
set(gca,'XTickMode','auto','XTickLabelMode','auto','XLimMode','auto')
Adam Danz
Adam Danz el 11 de Feb. de 2022
For method 1
set(gca,'XTick',1:2,'XTickLabel',{'Group 1', 'Group 2'},'XLim', [0.5,2.5])
For method 2
boxplot(data,'labels',{'Group1','Group2'})
NOUF ALHARBI
NOUF ALHARBI el 11 de Feb. de 2022
Many thanks Adam Danz
Adam Danz
Adam Danz el 11 de Feb. de 2022
Happy to help!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 2-D and 3-D Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 11 de Feb. de 2022

Comentada:

el 11 de Feb. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by