MATLAB Legend title issue

조회 수: 1 (최근 30일)
Waqas Syed
Waqas Syed 2015년 9월 16일
답변: Peter O 2015년 9월 18일
Hi,
I an exectuing the following code to get a graph.
figure
grid
hold on;
for n=1:length(zeta_dom_r)
if abs(zeta_dom_r(n)-0.000)>0.0001
A(n)=0;
B(n)=0;
end
end
plot(A(:), B(:), 'k.-')
legend('Gain =0', 'Gain =0.05', 'Gain =0.1');
xlabel('\tau (s)');
ylabel('T Delay (s)');
xlim([0 5]);
ylim([0 0.5]);
I want to give one single title to legend i.e Gain. I do not want to write Gain again for every single line. Kindly let me know how to give title to the legend. I am using Matlab 2015.
  댓글 수: 3
Walter Roberson
Walter Roberson 2015년 9월 17일
You are only plotting one thing in this code, but you are supplying 3 legends. If this code is being invoked 3 times then the legend should be built afterwards.
In the code segment you show, should we assume that A and B have been set to values before this code?
It is recommended to switch to logical indexing.
idx = abs(zeta_dom_r) > 0.0001;
A(idx) = 0;
B(idx) = 0;
No loop.
Waqas Syed
Waqas Syed 2015년 9월 18일
Thanks dpb. I will look into that.
And Thanks alot Walter. I knew that my programming technique was somehow inefficient.
And yes, A & B have been set to values before the code.

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

답변 (1개)

Peter O
Peter O 2015년 9월 18일
You need to access the title string property of the legend:
There is likely a cleaner method to access this with the new graphics system, but here's how to do it in 2013b:
lh = legend('0','0.5','1');
set(get(lh,'Title'),'String','Gain');

카테고리

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