How do I group boxplots by modifying the X locations?

Is there a way to set the 'X' coordinates of several boxplots?
For instance something similar to...
X = [1.2 1.8 3.2 3.8 5.2 5.8];
boxplot(X, Y)
so that it would look like groups of boxplots are set closer together?

 Akzeptierte Antwort

Patrick Kalita
Patrick Kalita am 18 Feb. 2011
Perhaps you are looking for the positions option?
X = [1.2 1.8 3.2 3.8 5.2 5.8];
Y = rand(100, 6);
boxplot(Y, 'positions', X, 'labels', X)

Weitere Antworten (2)

Matt Tearle
Matt Tearle am 18 Feb. 2011
You can cluster groups together using the 'factorgap' option. Would that do what you want?
% make some fake data
x = rand(200,1);
z = bsxfun(@plus,repmat(x,1,5),-0.1:0.1:0.3);
% standard boxplot
boxplot(z)
% make some grouping labels
g1 = repmat([1 1 1 2 2],200,1);
g2 = repmat('abcab',200,1);
% reshape everything into columns
zv = z(:);
gp1 = g1(:);
gp2 = g2(:);
% boxplot with groupings grouped!
boxplot(zv,{gp1,gp2},'factorgap',[50,0])

3 Kommentare

Is there something you can't solve with matlab? :)
Apparently:
>> worldpeace
??? Undefined function or variable 'worldpeace'.
We can try!!

Melden Sie sich an, um zu kommentieren.

Ian
Ian am 18 Feb. 2011

0 Stimmen

Yes, the 'positions' one is what i was looking for. Thanks for the responses.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by