Color each boxplot differently

287 visualizaciones (últimos 30 días)
Alberto Acri
Alberto Acri el 26 de Abr. de 2022
Comentada: Jon el 26 de Abr. de 2022
I found an example that allows you to color with random colors. However, I want to color the inside of each boxplot with a certain color.
a = magic(3);
boxplot(a)
i = 3; % number of boxplots
x = 1:i;
colors = rand(i, 3);
figure
boxplot(a, x,'Whisker', inf);
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),colors(j,:),'FaceAlpha',.5);
end
I would also like to make the lines thicker. How can I do this?

Respuestas (1)

Jon
Jon el 26 de Abr. de 2022
I think this should get you closer to what you want. You can select other colors using their rgb color codes, I just used red,green and blue in the example
a = magic(3);
boxplot(a)
i = 3; % number of boxplots
x = 1:i;
colors = [1 0 0;0 1 0;0 0 1];
figure
boxplot(a, x,'BoxStyle','outline','Colors',colors);
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),get(h(j),'Color'),'FaceAlpha',.5);
end
  3 comentarios
Alberto Acri
Alberto Acri el 26 de Abr. de 2022
I was interested in having an increase in the thickness of all the lines in the figure. See below:
Jon
Jon el 26 de Abr. de 2022
If you are running R2020A or higher you may want to investigate boxchart. It seems to offer the options you want more directly

Iniciar sesión para comentar.

Categorías

Más información sobre Live Scripts and Functions en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by