필터 지우기
필터 지우기

'legend' problem

조회 수: 29 (최근 30일)
Silvia
Silvia 2012년 1월 5일
댓글: Tomas 2022년 11월 11일
Hello,
I'm using hold on to draw different vectors on the same graph but every time I add a curve I need to add its legend. My problem is that when I write 'legend('Curve Name')' it appears only the last and I'd need to see all the names together$ on the same legend.
Thank you very much
Silvia
  댓글 수: 1
Silvia
Silvia 2012년 1월 5일
I know I can write: legend('Curve name1','Curve name2','Curve name3'...). But i'd need do it separately.
I'm doing:
legend('Curve name1')
legend('Curve name2')
legend('Curve name3')
And after this it appears only the third one.

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

채택된 답변

Junaid
Junaid 2012년 1월 5일
Dear Silva,
The best way is that when you plot give the name to the curve instantly. let say
plot([1:10],'Color','r','DisplayName','Vector 1');hold on;
plot as many vectors you want. Just in end type this.
legend('show');
  댓글 수: 3
Silvia
Silvia 2012년 1월 9일
Thank you very much :).My problem is solved. Now I'm trying to put different markers each time
Tomas
Tomas 2022년 11월 11일
Thank you!! Used to troubleshoot to find where to leave ' ' in my text to leave things blank
e.g. : legend('','','roots','Location','south');

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

추가 답변 (2개)

Matt Tearle
Matt Tearle 2012년 1월 5일
As Junaid says, plotting all together is the nicest solution. However, if, for some reason, that isn't feasible for you, you can do this to recover the strings used so far and add a new one:
h = legend('Curve name 1');
for k = 1:n
% add plot
h = legend([get(h,'String'),'Curve name k']);
end
  댓글 수: 1
Silvia
Silvia 2012년 1월 9일
Thank you :)

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


Patrick Kalita
Patrick Kalita 2012년 1월 5일
This is along the same lines as Junaid's answer. The idea is to use the plot's DisplayName property to set the legend text for each curve. A combination of legend off and legend show will cause the legend to be repopulated with any new plots that have been added. For example:
hold all
for i = 1 : 10
plot( rand(1, 50), 'DisplayName', sprintf( 'Plot #%d', i ) );
legend off; legend show;
pause(0.5);
end
hold off
  댓글 수: 1
Silvia
Silvia 2012년 1월 9일
Thank you :)

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

카테고리

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