Legend for multiple plots varying parameters

8 visualizzazioni (ultimi 30 giorni)
Pleas, how do I make my legend to match with my data? I have attached the figure. I want the legend data1 to corresponds to xi = -0.06, t=0, data2 to corresponds to xi=-0.05, t=0, data3: xi = -0.06, t=25, data4: xi = -0.05, t=25 and so on ..
% matlab and maple for theta plot for different xi values
figure
subplot(2,1,1)
hold on
for ixi = 1:2
if ixi == 1
plot(z, squeeze(THETA(ixi,it,:)), 'c', z2, thetasolxi,'r');
else
plot(z, squeeze(THETA(ixi,it,:)),'g--', z2, thetasolxi2, 'b--');
end
xlabel('z (\mu m)')
ylabel('\theta(z,t)(rad)')
title('Comparison of \theta(z,t) plot for \xi for maple and matlab' )
end
legend('show')
% matlab and maple for v plot for different xi values
subplot(2,1,2)
hold on
for ixi = 1:2
if ixi == 1
plot(z, squeeze(V(ixi,it,:)), 'c', z2, vsolxi2,'r--');
else
plot(z, squeeze(V(ixi,it,:)),'g', z2, vsolxi, 'b--');
end
xlabel('z (\mu m)')
ylabel('v(z,t)(m/s)')
title('Comparison of v(z,t) plot for \xi for maple and matlab' )
end
legend('show')
  2 Commenti
Sharmin Kibria
Sharmin Kibria il 25 Set 2022
You can try
legend('xi = -0.06, t=0', 'xi=-0.05, t=0', 'xi = -0.06, t=25', 'xi = -0.05, t=25') . The number of character vectors in legend must be equal to the number of data you are plotting. Otherwise it will error out.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 25 Set 2022
% matlab and maple for theta plot for different xi values
figure
subplot(2,1,1)
hold on
for ixi = 1:2
xi_part = "xi = " + Xis(ixi);
t_part = ", t = " + Times(it);
dn = xi_part + t_part;
if ixi == 1
plot(z, squeeze(THETA(ixi,it,:)), 'c', z2, thetasolxi,'r', 'DisplayName', dn);
else
plot(z, squeeze(THETA(ixi,it,:)),'g--', z2, thetasolxi2, 'b--', 'DisplayName', dn);
end
xlabel('z (\mu m)')
ylabel('\theta(z,t)(rad)')
title('Comparison of \theta(z,t) plot for \xi for maple and matlab' )
end
legend('show')
% matlab and maple for v plot for different xi values
subplot(2,1,2)
hold on
for ixi = 1:2
xi_part = "xi = " + Xis(ixi);
t_part = ", t = " + Times(it);
dn = xi_part + t_part;
if ixi == 1
plot(z, squeeze(V(ixi,it,:)), 'c', z2, vsolxi2,'r--', 'DisplayName', dn);
else
plot(z, squeeze(V(ixi,it,:)),'g', z2, vsolxi, 'b--', 'DisplayName', dn);
end
xlabel('z (\mu m)')
ylabel('v(z,t)(m/s)')
title('Comparison of v(z,t) plot for \xi for maple and matlab' )
end
legend('show')
  5 Commenti
Torsten
Torsten il 25 Set 2022
Modificato: Torsten il 25 Set 2022
We cannot see where and how you use this
it = 1:round(nt/4):nt
in your plotting part.
As far as I can see, "it" is never set in the code you attached.
University Glasgow
University Glasgow il 25 Set 2022
Thank you , after the defining the it, Is working now.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by