Change the color of each group in boxplotGroup
조회 수: 57 (최근 30일)
이전 댓글 표시
data = {rand(100,2), rand(100,2)+.2, rand(100,2)-.2};
boxplotGroup(data, 'PrimaryLabels', {'a' 'b' 'c'}, ...
'SecondaryLabels',{'Group1', 'Group2'}, 'GroupLabelType', 'Vertical')
Now my question is: is it possible to have 2 separate colors for these two groups that I have here? Like first group box be blue and the second is red?
Is it possible to have both a in each group green; and have both b in each group yellow?
Thank you so much.
댓글 수: 0
채택된 답변
Adam Danz
2020년 7월 27일
편집: Adam Danz
2021년 12월 2일
"Is it possible to have both a in each group green; and have both b in each group yellow?"
Yes. Use the "colors" propery but include an extra color that will not appear to account for the gap which is actually a box plot of all NaN values that doesn't appear. Since you have 2 groups of 3 plots, set 4 different colors.
data = {rand(100,2), rand(20,2)*.8, rand(1000,2)*1.2};
boxplotGroup(data, 'Colors', lines(4)) % See image below
% Or
% data = {rand(100,2), rand(20,2)*.8, rand(1000,2)*1.2};
boxplotGroup(data, 'Colors', lines(4))
% or
boxplotGroup(data, 'Colors', 'rcmk') % string arrays also accepted
Alternatively, you can set the colors after creating the grouped box plot.
data = {rand(100,2), rand(20,2)*.8, rand(1000,2)*1.2};
h = boxplotGroup(data);
set(h.axis.Children(1).Children,'Color', 'r')
set(h.axis.Children(2).Children,'Color', 'k')
set(h.axis.Children(3).Children,'Color', 'g')
Image of first example
"is it possible to have 2 separate colors for these two groups that I have here?"
Not with this function. You might want to explore Matlab's boxplot function using the grouping variable and the ColorGroup property.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!