Legend inside a plot

5 vues (au cours des 30 derniers jours)
Ocram
Ocram le 27 Mai 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 commentaires
Oleg Komarov
Oleg Komarov le 27 Mai 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 le 27 Mai 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.

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 27 Mai 2012

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

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by