Legend Problems with Graph

1 次查看(过去 30 天)
I am attempting to plot three data lines on a graph, 'Critical Flow','Sub Critical Flow' and 'Super Critical Flow'. When i add the legend onto the graph, it seems to think that Sub Critical FLow and Super Critical flow are the same thing and doesnt add the correct legend to the graph. I then tried to fix this by adding 'DisplayName' to the graph and then it seemed to think that each individual point is a seperate plot (image attached). I tried plotting a similar graph with a different variable and it worked fine.
figure(6) %corresponds to bottom graph
clf
hold on
plot(pos01,Umeasured1,'k-o','MarkerSize',4);
plot(pos02,Umeasured2,'b-s','MarkerSize',4);
plot(pos03,Umeasured3,'r-d','MarkerSize',4);
legend('Critical','SubCritical','SuperCritical','Location','SW')
xlabel('y ordinate (mm)');
ylabel('Wake Velocity u/U\infty');
grid minor
hold off
figure(6) %corresponds to top graph
clf
hold on
plot(pos01,Umeasured1,'k-o','MarkerSize',4,'DisplayName','Critical');
plot(pos02,Umeasured2,'b-s','MarkerSize',4,'DisplayName','SubCritical');
plot(pos03,Umeasured3,'r-d','MarkerSize',4,'DisplayName','SuperCritical');
legend('show')
xlabel('y ordinate (mm)');
ylabel('Wake Velocity u/U\infty');
grid minor
hold off

采纳的回答

Star Strider
Star Strider 2021-1-26
Try something like this:
figure(6) %corresponds to bottom graph
% clf
hold on
h1 = plot(pos01,Umeasured1,'k-o','MarkerSize',4);
h2 = plot(pos02,Umeasured2,'b-s','MarkerSize',4);
h3 = plot(pos03,Umeasured3,'r-d','MarkerSize',4);
legend([h1(1),h2(1),h3(1)], 'Critical','SubCritical','SuperCritical','Location','SW')
xlabel('y ordinate (mm)');
ylabel('Wake Velocity u/U\infty');
grid minor
hold off
I obviously cannot test this, so I am posting it as UNTESTED CODE. That, or some variation of it, should work.

更多回答(0 个)

类别

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

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by