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.
댓글 수: 2
추가 답변 (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!