append legend in matlab 2015

Hi,
In previous versions of Matlab, I could append a legend if I wanted or not, using the following code. This was very handy in case I didn't have all handles of plots at the beginning and just wanted to append the list of new plots. Any idea how to do this in Matlab 2015?
Many thanks M
[LEGH,OBJH,OUTH,OUTM] = legend; % reading handles
LEGH = legend([OUTH;hnew],OUTM{:},'newPlotName'); % append new plot
where 'hnew' is the handle of the new plot and ''newPlotName' its name.

2 Comments

Here's an example of how to update the legend to include newly added plots.
% plot 3 lines and add a legend
p=plot(magic(3));
l=legend(p,'plot1','plot2','plot3');
% add a fourth line, specifying the DisplayName
hold on
plot([5 5 5],':','DisplayName','plot4')
% turn legend off and back on.
legend('off');
legend('on');
Hi Alexander, I just realized I have received your response, thanks.
I am missing a final point from your explanation above. What I am really interested in, is to remove (for example) the legend of the yellow line, while keeping the yellow line and all other legends... If you have any idea please let me know.
Thanks

Sign in to comment.

Answers (2)

In my version(R2015b),
legend('on') did not work for me. It just created a legend named with 'on'. But 'show' just worked well.
legend('off')
legend('show')
Tyler Rhodes
Tyler Rhodes on 11 Oct 2018
%first get the legend handles
old_legend=findobj(gcf, 'Type', 'Legend');
%then append the legend with new entry
legend([old_legend.String,'new_entry'])

Asked:

N/A
on 26 May 2015

Answered:

on 11 Oct 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!