How to set position of legend plot where outside axes??

15 views (last 30 days)
Hi all,
I create sample code for set legend position.
f = figure;
p = uipanel('Title','Panel','FontSize',12,...
'BackgroundColor','white',...
'Position',[.1 .1 .67 .8]);
% Construct a figure with subplots and data
subplot(2,1,1, 'Parent', p);
line1 = histogram(rand(1,1000));
title('Axes 1');
subplot(2,1,2, 'Parent', p);
line2 = histogram(rand(1,1000));
title('Axes 2');
% Construct a Legend with the data from the sub-plots
hL = legend([line1,line2],{'Data Axes 1','Data Axes 2'});
%set(hL,'location', 'bestoutside');
Here is result:
But, I want to move legend to outside of axes such as:
Do anyone know? Please help me.
Thank you so much

Answers (1)

Jonas
Jonas on 16 Sep 2022
add a Name-Value pair to your legend command, e.g.
legend('Location','eastoutside')
  6 Comments
galaxy
galaxy on 21 Sep 2022
sorry, I think in your code, legend only outside of plot area.
I changed some lines. So can you move legend same following figure.
Thank you so much
f = figure;
p = uipanel(f, 'Position',[.1 .1 .8 .8], 'Title','Panel 1');
p1 = uipanel('Parent', p, 'Position',[.1 .1 .6 .6], 'Title','Panel 2');
t = tiledlayout(p1,1,1);
nexttile(t);
plot(rand(3));
h = legend('Location','northeastoutside');

Sign in to comment.

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by