Decimal numbers problem on plotting
Show older comments
I am plotting a graph about a parameter that changes according to years on MATLAB. But on the years label, decimal numbers are seen. How can I make them unseen?
Answers (1)
Consider:
% make a simple plot that reproduces the fractional year ticks
x = 2016:0.5:2020
plot(x,x)

% get rid of tick labels for non-integer years
xtl = get(gca,'xticklabel')
mask = cellfun(@(x)mod(str2num(x),1)>eps,xtl);
xtl(mask) = {''}
set(gca,'xticklabel',xtl)

There are probably other ways to do this, but this is what I came up with off the top of my head.
2 Comments
Ulrich Achas
on 11 May 2021
DGM
on 11 May 2021
You might also be able to get away with something like this:
x = 2016:0.5:2020
plot(x,x)
xt = get(gca,'xtick')
set(gca,'xtick',xt(mod(xt,1)==0))
though it will also remove the half-year tick marks as well

Categories
Find more on Grid Lines, Tick Values, and Labels in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!