Josef Pörnbacher
Josef Pörnbacher

Reputation: 97

Distance between axis number and axis in MATLAB figure

I struggle a little bit with overlapping axis numbers of the y and x axis like it is shown in the image. I'd like to keep the size of the numbers and therefore think that simply shifting the numbers away from the axis itself would be an appropriate way to handle this issue.

Is there a possibility to do that?

Thanks in advance, Joe

Upvotes: 3

Views: 760

Answers (1)

Benoit_11
Benoit_11

Reputation: 13945

Here is a little workaround using text annotations. Basically you clear the current XTick labels and replace them with similar labels, but you can specify the distance from the axis:

clc
clear
close all

x = 1:20;

hPlot = plot(x,sin(x));

set(gca,'xaxisLocation','top');

set(gca,'XTickLabel',[]); %// Clear current XTickLabel

ylim = get(gca,'YLim'); %// Get y limit of the plot to place your text annotations.

for k = 2:2:20
    text(k,ylim(2)+0.1,num2str(k),'HorizontalAlignment','Center') %// Play with the 'ylim(1) -0.1' to place the label as you wish.
end

Giving this:

enter image description here

Of course now it's exaggerated and you can do the same for the y axis if you want (using the 'XLim' property of the current axis,gca).

Upvotes: 1

Related Questions