Legend inside a plot

5 views (last 30 days)
Ocram
Ocram on 27 May 2012
Hi all, I want to plot more than two graphs inside a figure, but I would like to label with a legend just two of them. It is possible without writing anything in the related position inside the command legend: legend('string1','','','string2')
but I get the line of the missing label in the legend panel!!
How can I take off the string and the symbol in the legend panel???
Thanks M
  2 Comments
Oleg Komarov
Oleg Komarov on 27 May 2012
You can start by giving a complete example of the issue:
http://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer
Ocram
Ocram on 27 May 2012
y1= sin(1:1:20)
y2= 3*sin(1:1:20)
y3= 2*sin(1:1:20)+3
plot(y1,'r'), hold on,
plot(y2,'b:'), hold on,
plot(y3,'g'),
legend('y1','','y3')
I tried to plot 3 tracks but I can't cancel the second line in the legend. I didn't write the name of this second string, but the line remains.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 27 May 2012

Ocram
Ocram on 27 May 2012
I tried this second code:
y1= sin(1:1:20)
y2= 3*sin(1:1:20)
y3= 2*sin(1:1:20)+3
plot(y1,'r'), hold on,
h= plot(y2,'b:'), hold on,
plot(y3,'g'),
set(get(get(h,'Annotation'),'LegendInformation'),'IconDisplayStyle','off'); % Exclude line from legend
legend('y1','y3')
but in this case I have direct access to the single plot commands.
Instead, I have a function which return me just the figure with different tracks inside.... so I can't get the handle like in this last example.
  3 Comments
Ocram
Ocram on 28 May 2012
It doesn't work out. :(
Oleg Komarov
Oleg Komarov on 28 May 2012
What do you mean? It does work for me:
axch = get(gca, 'Children');
set(get(get(axch(2),'Annotation'),'LegendInformation'),'IconDisplayStyle','off');

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!