Is it possible to make larger gap between xlabel and the x-axes?

Answers (2)

You can use SET and GET:
xh = get(gca,'xlabel') % handle to the label object
p = get(xh,'position') % get the current position property
p(2) = 2*p(2) ; % double the distance,
% negative values put the label below the axis
set(xh,'position',p) % set the new position

3 Comments

thanks, it doubles the distence, but the problem is that it goes out of the figure!
Try another value than 2, like p(2) = 1.1 * p(2)
Even very small movement might go out of the picture:
clear all
close all
TestX = randn(1,10);
TestY = randn(1,10);
X = cumsum(TestX);
Y = cumsum(TestY);
figure
plot(X,Y)
xlabel('balle')
ylabel('bolle')
figure
plot(X,Y)
xlabel('balle')
ylabel('bolle')
xh = get(gca,'xlabel') % handle to the label object
p = get(xh,'position') % get the current position property
p(2) = - 0.1 + p(2) ; % double the distance,
% negative values put the label below the axis
set(xh,'position',p) % set the new position
For example.
Is there nothing that can be doune against it?

Sign in to comment.

Maybe it is too late for your problem, but another way could be just adding an extra blank line:
title({'the title you want to add',' '})

2 Comments

What if I want to increase the gap between ylabel and the y-axes?
yl=get(gca,'ylabel');
pyl = get(yl,'position');
pyl(1) = 1.05*pyl(1);
set(yl,'position',pyl)
Note that a minor change of 0.05 might be sufficient to have enough space.

Sign in to comment.

Asked:

on 29 May 2015

Community Treasure Hunt

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

Start Hunting!