Clear Filters
Clear Filters

Remove an item in legend

10 views (last 30 days)
Lizan
Lizan on 7 May 2013
Answered: Laura F on 6 May 2022
Hi,
I have a legend like
x, y, spline
I would like the legend to only show x, y and not show spline as a dataset. How can I do this? I would preferably not have to redo the whole image.

Answers (2)

Sean de Wolski
Sean de Wolski on 7 May 2013
How abotu just calling legend again without the input for the line you don't want:
hLine = plot(1:10,1:10,'r-',1:10,10:-1:1,'b-');
hLegend = legend(hLine,'up','down');
Now to remove it:
%Add another legend:
legend(hLine(1),'up')
  2 Comments
Lizan
Lizan on 7 May 2013
My problem is that this new entry is not one I plot. It comes from the fitting tool that I added directly in the figure. But I don't want it to show as a separate label.
There is no way to manually fetch the name of the handle and then turn it off or remove it manually?
Sean de Wolski
Sean de Wolski on 7 May 2013
There might be a way to do this by removing children from the Legend and from shortening the string property:
get(hLegend)
Then use set() to change the ones you need.

Sign in to comment.


Laura F
Laura F on 6 May 2022
I hope, that I understand the question right. I had the same problem and solved it like this:
Lgnd = legend('show','Orientation','horizontal');
Lgndstr = Lgnd.String(1:2);
Lgnd.String = Lgndstr;

Tags

Products

Community Treasure Hunt

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

Start Hunting!