Reduce the distance between boxplots

67 views (last 30 days)
BN on 27 Jul 2020
Commented: BN on 29 Jul 2020
Dear all,
Here are my boxplots that generated from the below script:
ax = axes();
for i=1:numel(data)
boxchart(x(i)*ones(size(data{i})), data{i},'MarkerStyle','none', ...
'BoxFaceColor', colors(i,:), ...
'LineWidth', 1, ...
'WhiskerLineStyle', '-','BoxWidth',0.5)
set(gca,'xtick',[1.5 3.5 5.5 7.5 9.5 11.5 13.5 15.5 17.5])
I want to reduce the distance between first and second boxes; as well as third and forth; ... and 15th and 16th.
In order to have 8 couple boxe beside each other. (each couple have distance with next couple)
please let me know how I can do that. Thanks
dpb on 27 Jul 2020
Just noticed you're using the new boxchart; I don't have R2020a so have only boxplot
From the documenatation, doesn't appear the implementation is any different, fundamentally; the x-grouping input variable isn't a position but a group; positions are still ordinal.
But, did get a brainstorm...put a column of NaN in between each group of two; it will be non-showing but will still take up room so there will be a gap for the missing "variable".

Sign in to comment.

Accepted Answer

dpb on 27 Jul 2020
Edited: dpb on 28 Jul 2020
Carrying on from the above idea...
data=rand(10,16); % just some random data w/ 16 variables/columns
for i=1:8 % augment nan before/between each pair of two
data2=[data2 nan(10,1) data(:,2*i-1:2*i)];
data2=[data2 nan(10,1)]; % add the trailing nan column for balance
boxplot(data2) % and present the boxplot
xticks(2.5:3:26) % matchup ticks
ends up with--
which isn't too bad if say so meself! :)
Dunno what will happen/need to do to use barchart in order to get the coloring, too.
BN on 29 Jul 2020
Yes thank you again.

Sign in to comment.

More Answers (0)





Community Treasure Hunt

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

Start Hunting!