How to avoid horizontal shifts after applying GroupByColor on boxcharts?
조회 수: 7 (최근 30일)
이전 댓글 표시
I'm trying to plot 5 boxcharts with 5 different boxcolors in one figure.
To get different colors im using the GroupByColor function as stated in the documentation.
The application of GroupByColor however leads to a horizontal shift of the boxplots.
How do I have to change my code to avoid the shift of my boxplots?
figure(1)
boxchart(xData,yData,'GroupByColor',xData,'BoxWidth',2)
grid on
'GroupByColor' not applied: correct position, wrong colors
'GroupByColor' applied: wrong position, correct colors
댓글 수: 0
답변 (2개)
Adam Danz
2023년 4월 19일
You can create the boxes in a loop,
y = magic(5);
[nrows, ncols] = size(y);
hold on
for i = 1:ncols
boxchart(repelem(i,nrows,1),y(:,1))
end
댓글 수: 0
Cris LaPierre
2023년 4월 19일
편집: Cris LaPierre
2023년 4월 19일
Typically, groups of boxplots share the same x value (see here and here). So what is happening is MATLAB is making room for one boxplot for each group at each x tick value, with the entire group centered around the x-tick.
It looks a little different in your plot because you have increased the box width.
I don't know of a way to modify individual boxcharts otherwise, and also don't see a way to change the position of a grouped boxchart.
If color is important, you may have better luck using boxplot. See here: https://www.mathworks.com/matlabcentral/answers/1705595-color-each-boxplot-differently
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Axis Labels에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!