Unable to add title to legend
15 views (last 30 days)
Show older comments
Ayush Mishra
on 22 Sep 2016
Edited: Walter Roberson
on 23 Sep 2016
I tried to give a title to the legend on my plot but the error of Error using title (line 27) Incorrect number of input arguments
So I tried using the example given on the Matlab website:
x = -pi:pi/20:pi;
y1 = sin(x);
plot(x,y1)
hold on
y2 = cos(x);
plot(x,y2)
hold off
lgd = legend('sin(x)','cos(x)');
title(lgd,'My Legend Title')
And I got the same error. I would like some help with this.
2 Comments
KSSV
on 22 Sep 2016
I think the title to legend is supported in MATLAB verison 2016. If you are specific about adding title, you can try keeping string at specified position.
pos = get(lgd,'position') ;
text(pos(1)+1.4,pos(2)+0.16,'My Legend Title') ;
there might be other ways.
Accepted Answer
Walter Roberson
on 22 Sep 2016
legends do not have titles. Axes have titles.
3 Comments
Walter Roberson
on 23 Sep 2016
Edited: Walter Roberson
on 23 Sep 2016
title has never been a supported attribute for legends. Mathworks does not often document changes affecting only what an object could be "hacked" to do -- using undocumented internal implementations has always been "at your own risk".
Checking further, I find that for legends, you can now use
lgd.Title.String = 'My Legend Title';
so I was wrong about legends not having titles; the official documentation is http://www.mathworks.com/help/matlab/ref/legend-properties.html#property_Title
More Answers (0)
See Also
Categories
Find more on Title in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!