Change the color of each group in boxplotGroup

조회 수: 66 (최근 30일)
BN
BN 2020년 7월 27일
편집: Adam Danz 2021년 12월 2일
I used Adam Danz's boxplotGroup to making two groups of box charts;
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.

채택된 답변

Adam Danz
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개)

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by