Decimal numbers problem on plotting

2 views (last 30 days)
Ulrich Achas
Ulrich Achas on 11 May 2021
Commented: DGM on 11 May 2021
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)

DGM
DGM on 11 May 2021
Edited: DGM on 11 May 2021
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
Ulrich Achas on 11 May 2021
thank you so much but as a beginner, it's a little bit complicated for me.
DGM
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

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!