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]);
Best Answer