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
0 个评论
采纳的回答
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 Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!