Legend for multiple plots varying parameters

2 vues (au cours des 30 derniers jours)
University Glasgow
University Glasgow le 23 Sep 2022
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 commentaires
Sharmin Kibria
Sharmin Kibria le 25 Sep 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.
University Glasgow
University Glasgow le 25 Sep 2022
Okay, thank you

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 25 Sep 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 commentaires
Torsten
Torsten le 25 Sep 2022
Modifié(e) : Torsten le 25 Sep 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 le 25 Sep 2022
Thank you , after the defining the it, Is working now.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by