How do I add legends to my plot?
이전 댓글 표시
Hello I have a code to plot a couple of line sin different colors and I wanted to add a nox with the name of each function but for some reason the names are being displayed twice.
Does anyone know why this happens or how this can be fixed?
Thank you (:

채택된 답변
추가 답변 (1개)
Could be because each call to plot() creates 2 lines. Check it out:
plot(magic(2),'b','DisplayName','Magic');
legend()
You can avoid this by returning the line objects from plot() and making the legend based on only the first one from each call to plot().
h = plot(magic(2),'b','DisplayName','Magic');
legend(h(1));
Or, in a situation more similar to your own:
h = [];
new_h = plot(magic(2),'g','DisplayName','Magic 1');
h(end+1) = new_h(1);
hold on
new_h = plot(magic(2)-1,'m','DisplayName','Magic 2');
h(end+1) = new_h(1);
new_h = plot(magic(2)+1,'r','DisplayName','Magic 3');
h(end+1) = new_h(1);
new_h = plot(inv(magic(2)),'b','DisplayName','Magic 4');
h(end+1) = new_h(1);
legend(h);
카테고리
도움말 센터 및 File Exchange에서 Legend에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



