MATLAB Answers

Legend position according to axes

303 views (last 30 days)
Timon Rayis
Timon Rayis on 10 Mar 2020
Commented: Timon Rayis on 10 Mar 2020
Hello I want to reposition the legend from the start of axes (not in the middle) like this
Can we do this? Here is my code
x = 1:10; y1 = 4*x; y2 = 3*x + 5; figure(1), plot(x,y1,'b',x,y2,'r')
legend('Line 1','Line 2','Location','NorthOutside','Orientation','horizontal','Box','off')

  0 Comments

Sign in to comment.

Answers (1)

Jakob B. Nielsen
Jakob B. Nielsen on 10 Mar 2020
You can specify the position of your legend yourself with coordinates, rather than using a predetermined location. First two coordinates are the x and y start, second coordinates are the x-wise length and y-wise height of the legend. For example:
x = 1:10; y1 = 4*x; y2 = 3*x + 5; figure(1), plot(x,y1,'b',x,y2,'r')
legend('Line 1','Line 2','Position',[0.2 0.92 0.15 0.0869]);
legend('Orientation','horizontal')
legend('boxoff')

  4 Comments

Show 1 older comment
Timon Rayis
Timon Rayis on 10 Mar 2020
So, do we have any other way where we do not hard code the position values, but the position should be taken from axes
Jakob B. Nielsen
Jakob B. Nielsen on 10 Mar 2020
Weird! It seems the properties changes simply from the maximising of the window. I dont know why that is the case...
if you put in
x = 1:10; y1 = 4*x; y2 = 3*x + 5;
ax=axes;
plot(ax,x,y1,'b',x,y2,'r')
lg=legend('Line 1','Line 2','Position',[0.2 0.92 0.15 0.0869],'Orientation','horizontal','Box','off');
and then inspect lg, it has Position: [0.1250 0.9396 0.3000 0.0476] (which is not even the position we specify)... But then when maximising the window and doing nothing else, lg now has Position: [0.2313 0.9542 0.0875 0.0185].
I dont know... If you need the plot maximised, then plot it maximised to begin with and set the legend position accordingly, I guess?
Timon Rayis
Timon Rayis on 10 Mar 2020
This was exactly my doubt too. but the quick fix you suggested at the end surely helps. Thanks for that.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!