Creating a Legend for a Boxplot with Two Colors

조회 수: 59 (최근 30일)
Danny
Danny 2011년 6월 28일
댓글: Walter Roberson 2016년 6월 16일
Hi, I need help inserting a legend for a boxplot with two colors (red & blue). My code for this is:
boxplot(data, 'notch', 'on', 'symbol', '*','colors','rb');
legend('Label1','Label2');
But I get no legend and it says "Warning: Plot empty" in the command window. Any help on this matter would be much appreciated. Thank you.

채택된 답변

Walter Roberson
Walter Roberson 2011년 6월 28일
It isn't a bug. The annotations for the boxes have their IconDisplayStyle property set 'off' which is a signal that they are not to be included in legends.
You can include them deliberately by using
legend(findobj(gca,'Tag','Box'),'Label1','Label2')
but note that the boxes all have the same color (at least with the call you use) so the legend lines will be in the same color as each other.
  댓글 수: 5
Isabel Chen
Isabel Chen 2016년 6월 15일
I am using Matlab 2016a, and with the code above, I get the following error message:
Warning: Ignoring extra legend entries.
> In legend>set_children_and_strings (line 643)
In legend>make_legend (line 328)
In legend (line 257)
The plot looks fine, apart from the legend entries in the wrong order. Any ideas?
Walter Roberson
Walter Roberson 2016년 6월 16일
In your line similar to
legend(findobj(gca,'Tag','Box'),'Label1','Label2')
you need to supply as many labels as you have columns in your data. boxplot creates one object with tag Box for each column of data.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Oleg Komarov
Oleg Komarov 2011년 6월 28일
Use the option labels, dunno if it is a bug but legend doesn't seem to work.

카테고리

Help CenterFile Exchange에서 Legend에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by