How to align XTicks with boxplots, code and the output is attached ?
8 views (last 30 days)
Show older comments
rmse1=[rmse_wavelet_anfis_his;rmse_wavelet_anfis;rmse_QDM_his;rmse_QDM;...
rmse_QM_his;rmse_QM;rmse_raw_his;rmse_raw];
mae1=[mae_wavelet_anfis_his;mae_wavelet_anfis;mae_QDM_his;mae_QDM;...
mae_QM_his;mae_QM;mae_raw_his;mae_raw];
g = ones(size(rmse_raw));
g = [g;g*2;g*3;g*4;g*5;g*6;g*7;g*8];
g=categorical(g);
p= tiledlayout(1,2,'TileSpacing','none');
ax1 = nexttile;
b1= boxchart(ax1,g,rmse1,'GroupByColor',g,'BoxWidth',3);
ax2=nexttile;
b2= boxchart(ax2,g,mae1,'GroupByColor',g,'BoxWidth',3);
for i=1:8
remaind=rem(i,2);
if remaind==1
b1(i).SeriesIndex=1;
b2(i).SeriesIndex=1;
else
b1(i).SeriesIndex=2;
b2(i).SeriesIndex=2;
end
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1369799/image.jpeg)
0 Comments
Accepted Answer
Cris LaPierre
on 29 Apr 2023
Edited: Cris LaPierre
on 30 Apr 2023
See this answer: https://www.mathworks.com/matlabcentral/answers/1949893-how-to-avoid-horizontal-shifts-after-applying-groupbycolor-on-boxcharts?s_tid=srchtitle
When you group by color, boxchart expects there to be a boxplot for each group at each tick. It therefore makes space for that, centering the grouped boxplots around each tick.
If you want to set the color for each boxchart and have it aligned with an xtick, you must plot each boxplot individually, as Adam Danz shows in the linked answer.
More Answers (0)
See Also
Categories
Find more on Graphics Object Identification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!