How do I prevent the legend from Auto Updating?
256 次查看(过去 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!