how i can group legend from graphic made by plot and boxplot

6 次查看(过去 30 天)
i'm trying to superpose two graphic made by plot and boxplot functions. this is an example:
if true
% code
clear
%data
p=[0.9 1.1 1.9 2.1 2.9 3.1];
p1=[0.9 1.9 2.9];
p2=[1.1 2.1 3.1];
data1=rand(10,3);
data2=rand(10,3);
data=[0.4 0.2 0.5 0.6 0.7 0.9];
%boxplot
h1=boxplot(data1, 'positions', p1, 'labels', p1)
hold on
h2=boxplot(data2, 'positions', p2, 'labels', p2)
%box style
set(h2,'LineStyle','-.')
%plot
b=plot(p,data,'LineStyle',':')
%legend
legend('type1','type2','plot')
hold off
end
i have this message
if true
% codeWarning: Ignoring extra legend entries.
> In legendHGUsingMATLABClasses>set_children_and_strings (line 650)
In legendHGUsingMATLABClasses>make_legend (line 313)
In legendHGUsingMATLABClasses (line 241)
In legend (line 118)
In exemple3 (line 20)
end

回答(1 个)

Renato Agurto
Renato Agurto 2015-12-17
Hello, since boxplot returns more than one handler, you could use this to select only one of them:
legend([h1(1,1), h2(1,1), b], 'type1','type2','plot')
you can replace h1(1,1) with, h1(3,2) etc
Cheers

类别

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