How do I prevent the legend from Auto Updating?
조회 수: 409 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2017년 1월 12일
편집: MathWorks Support Team
2018년 4월 3일
When I have a legend, and then add another plot to the graph, it is automatically added to the legend. How do I prevent legend from auto updating?
채택된 답변
MathWorks Support Team
2018년 11월 13일
편집: MathWorks Support Team
2018년 4월 3일
Starting in R2017a, if a legend is present, it will auto-update with new plots added to the axes.
The legend has been changed so that by default it updates when data is added to or removed from a plot automatically. To prevent this behavior, set the legends "AutoUpdate" property.
Ex:
x = linspace(0,2*pi);
y = sin(x);
plot(x,y)
legend('sin(x)','AutoUpdate','off')
To affect all new legends, set the value on the root level. To affect all legends in a figure:
fig = figure;
set(fig,'defaultLegendAutoUpdate','off');
To exclude an individual plot from the legend, set the "Annotation" property':
p = plot(1:10,'DisplayName','Line Chart');
hold on
s = stem(1:10,'DisplayName','Stem Chart');
hold off
s.Annotation.LegendInformation.IconDisplayStyle = 'off'; % make the legend for step plot off
legend('show')
For more information about this change, refer to the release notes:
Also note that the "default" properties system inherits down the entire graphics hierarchy, as documented here:
One can set the same property on the graphics root and it will apply to all figures in that MATLAB session:
set(groot,'defaultLegendAutoUpdate','off')
The above line can also be added to the MATLAB startup script if the user wants it to apply it to every MATLAB session.
댓글 수: 0
추가 답변 (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!