Legend for multiple plots varying parameters

8 次查看(过去 30 天)
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 个评论
Sharmin Kibria
Sharmin Kibria 2022-9-25
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.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2022-9-25
% 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 个评论
Torsten
Torsten 2022-9-25
编辑:Torsten 2022-9-25
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 2022-9-25
Thank you , after the defining the it, Is working now.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by