I am getting Warning: Ignoring extra legend entries

% T represents Temperature in Kelvin,K
% mu represnt Viscosity
%downloading the ascii data file
Data = importdata('viscosity_data.dat');
T= Data(1,:);
mu= Data(2,:);
% to return the no.of elements n1 & n2 in arrays of T & mu
n1=numel(T);
n2=numel(mu);
i=0; % dependent variable, changing w/change in temp.
if n1==n2
K=input('Enter Temperature,K at which to estimate Viscosity: ');
if K>=T(1) && K<=T(n1)
% for loop
for m=1:n1
if T(m)==K;
i=mu(m);
end %end if 6
if(i==0)
if (K<=T(m) && K>=T(m-1))
% applying the variable into linear interpolation equation
i=(mu(m)-mu(m-1))/(T(m)-T(m-1))*(K-T(m)+mu(m));
end %end if 5
end %end if 4
end %end for loop 3
else
fprintf('Temperature not within Range, Try again.');
end %end if 2
else
fprintf('Invalid Data. Rerun program');
end %end if 1
plot(T,mu,'-o');
grid on
legend('T','mu');
xlabel('Temperature, T/K');
ylabel('Viscosity (*10^-5 kg/ms');
title('Viscosity versus Temperature');

 Respuesta aceptada

Walter Roberson
Walter Roberson el 1 de Dic. de 2015
You can have at most one legend entry for each plot object. You are only plotting one line, so you can have only one legend entry.
You should not be trying to legend() each variable: that is what xlabel() and ylabel() are for.

3 comentarios

If you want to point out a particular location on the plot, you should consider using annotation() or text(). legend() is mostly for the case that you have multiple graphics objects in a plot (such as multiple lines) and you want to give at key about which line has which meaning.
NoDrivel
NoDrivel el 1 de Dic. de 2015
Cheers. Nice day.
Dear Walter,
thanks for your tip on how the 'legend' function works.
It really helped me.
Best.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by