Fill boxplot with different colors using RGB-Codes
Show older comments
I am new to Matlab but managed to create grouped boxplots and want to color them. I tried it with the code above. It works with:
color = ['c','b','c','b','c','b'];
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),color(length(h)-j+1),'FaceAlpha',.5);
end
But I want to select special colors with RGB-Codes [11 166 222] and [0 178 169]. It works when I select just one color:
RGB=[11 166 222];
RGB2=[0 178 169];
color =[RGB;RGB;RGB;RGB;RGB;RGB];
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),color(j),'FaceAlpha',.5);
end
But when I attach the second color it creates totally different colors with RGB-Codes (157, 147, 208) and (254, 250, 142):
RGB=[11 166 222];
RGB2=[0 178 169];
color =[RGB;RGB2;RGB;RGB2;RGB;RGB2];
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),color(j),'FaceAlpha',.5);
end
What did I do wrong?
Do you know how I can get the colors I want?
Thank you so much.
If it is necessary, this is the whole code:
load 'FBE_.mat'
data = FBE_F1_30;
month = repmat({'Keine Rückmeldung','Positive Rückmeldung','Reale Rückmeldung'},1,2);
simobs = [repmat({'FBE'},1,3),repmat({'F1'},1,3)];
positions = [1 1.25 1.75 2 2.5 2.75];
a=boxplot(data,{month,simobs},'positions', positions,'colors',repmat('k',1,12),'factorgap',[5 3],'labelverbosity','minor','Symbol','ko');
xticks([1.125 2.125 3.125])
set(gca,'XTickLabel',{'Keine Rückmeldung','Positive Rückmeldung','Reale Rückmeldung'},'FontName','Arial','FontSize',11,'FontWeight','bold');
%Dicke des Medians ändern
set(a(6),'LineWidth',2);
set(a(13),'LineWidth',2);
set(a(20),'LineWidth',2);
set(a(27),'LineWidth',2);
set(a(34),'LineWidth',2);
set(a(41),'LineWidth',2);
%Boxplots einfärben
RGB1=[11 166 222];
RGB2=[0 178 169];
color = [RGB;RGB2;RGB;RGB2;RGB;RGB2];
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),color(length(h)-j+1),'FaceAlpha',.5);
end
%Beschriftungen
title('Vergleich der tatsächlichen Ergebnisse der FBEs und vermeintlich verstandenen Wörter','FontName','Arial','FontSize',12,'Position',[2.25, 107, 0])
ylabel('Verständlichkeit in %','FontName','Arial','FontSize',12,'FontWeight','bold','Position',[0.06, 50, 0])
c = get(gca, 'Children');
hleg1 = legend(c(1:2), 'FBE', 'Frage1' );
%Textfeld
text(6.75,102.5,'n=17','FontName','Arial','FontSize',11,'FontWeight','bold')
%Y-Hilfslinien einzeichnen
set(gca,'YGrid','on','Layer','top')
%Größe des Ausgabefensters festlegen, damit Abstände an x-Achse passen
f = figure(1);
set(f,'Units','normalized','Position',[0.2 0.2 0.45 0.55]);
Accepted Answer
More Answers (0)
Categories
Find more on Box Plots 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!