How to remove empty space after legend?

15 vues (au cours des 30 derniers jours)
haohaoxuexi1
haohaoxuexi1 le 8 Déc 2022
Commenté : Voss le 9 Déc 2022
Can anyone please give me some advice on how to remove the area below the legend.
The code is below, thanks.
C_Span = [4 8 12];
Length_C_Span = length(C_Span);
% standard plot size
x0_d=10; y0_d=10; width_d=675; height_d=width_d/(5/3); % figure default size
%height_d=675;
figure(1);
plot([1 2 3], [1 5 7]);
hold on;
plot([1 2 3], [4 5 8]);
hold on;
plot([1 2 3], [1 5 9]);
hold off;
%grid on;
box on;
for i = 1:Length_C_Span
LegendInfo{i} = ['{\it {\beta}} = ', num2str(C_Span(i))];
end
legend(LegendInfo, 'Location', 'SouthOutside', 'fontname', 'Times New Roman', 'fontsize', 12, 'NumColumns', 3);
set(gcf, 'position', [x0_d,y0_d,width_d,height_d]);

Réponse acceptée

Voss
Voss le 9 Déc 2022
Modifié(e) : Voss le 9 Déc 2022
You can adjust the axes height as below (I'm using a red figure so you can see the space beneath the axes here in the online environment):
C_Span = [4 8 12];
Length_C_Span = length(C_Span);
% standard plot size
x0_d=10; y0_d=10; width_d=675; height_d=width_d/(5/3); % figure default size
%height_d=675;
% figure(1)
figure('Color','r');
plot([1 2 3], [1 5 7]);
hold on;
plot([1 2 3], [4 5 8]);
hold on;
plot([1 2 3], [1 5 9]);
hold off;
%grid on;
box on;
for i = 1:Length_C_Span
LegendInfo{i} = ['{\it {\beta}} = ', num2str(C_Span(i))];
end
legend(LegendInfo, 'Location', 'SouthOutside', 'fontname', 'Times New Roman', 'fontsize', 12, 'NumColumns', 3);
set(gcf, 'position', [x0_d,y0_d,width_d,height_d]);
% increase axes height by 0.07 (and decrease the bottom location by same
% amount):
adjustment = 0.07; % change this to what you think looks good
ax_pos = get(gca(),'Position');
ax_pos([2 4]) = ax_pos([2 4])+[-1 1]*adjustment;
set(gca(),'Position',ax_pos)
  2 commentaires
haohaoxuexi1
haohaoxuexi1 le 9 Déc 2022
Modifié(e) : haohaoxuexi1 le 9 Déc 2022
Thanks,
I will try this method.
Voss
Voss le 9 Déc 2022
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (1)

Arif Hoq
Arif Hoq le 9 Déc 2022
Modifié(e) : Arif Hoq le 9 Déc 2022
you can change your lengend location to "northwest" or "Southeast"
legend(LegendInfo, 'Location', 'northwest', 'fontname', 'Times New Roman', 'fontsize', 12, 'NumColumns', 3);
"
  1 commentaire
haohaoxuexi1
haohaoxuexi1 le 9 Déc 2022
I want it keep outside the plot. I know I can put it inside, there is even an option called "best" which will put it in a proper position inside the plot.

Connectez-vous pour commenter.

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by