How can I label multiple boxplots with different symbols?

In the 'boxplot' function, you are able to specify different colors for each boxplot. For example, if I have 4 boxplots, I can specify the colors as red, green, blue, and black for the boxplots using the Name-Value Pair 'colors', 'rgbk'.
Is there a way to do specify the symbol for each individual boxplot as well? Currently I am only able to change the symbol for all boxplots together.
- Jai

1 Comment

This seems useful for colorblind people, though I'm not sure why it's needed if the boxplots are labeled on the horizontal axis.

Sign in to comment.

 Accepted Answer

Hi Jai,
Unfortunately it is not quite as simple to change the symbols for individual boxplots as it is to change the color.
However, it is possible to change the marker and color of the symbols for each boxplot by hand, after creating the boxplot. Here is an example of how to do so:
x1 = normrnd(5,1,100,1);
x2 = normrnd(6,1,100,1);
boxplot([x1,x2]);
a = get(get(gca,'children'),'children');
a(1).MarkerEdgeColor = 'g';
a(2).MarkerEdgeColor = 'b';
a(1).Marker = '*';
a(2).Marker = 'o';

More Answers (1)

Ah, thanks so much Amy! Was wondering how to set properties of individual boxplots - I guess the 'children' of 'children' approach makes sense since the boxplot is a group variable and the children of the boxplot are lines.

Asked:

on 22 Oct 2017

Commented:

on 26 Nov 2017

Community Treasure Hunt

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

Start Hunting!