Legend inside a plot

8 次查看(过去 30 天)
Ocram
Ocram 2012-5-27
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 个评论
Oleg Komarov
Oleg Komarov 2012-5-27
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 2012-5-27
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.

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2012-5-27

Ocram
Ocram 2012-5-27
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 个评论
Ocram
Ocram 2012-5-28
It doesn't work out. :(
Oleg Komarov
Oleg Komarov 2012-5-28
What do you mean? It does work for me:
axch = get(gca, 'Children');
set(get(get(axch(2),'Annotation'),'LegendInformation'),'IconDisplayStyle','off');

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by