Decimal numbers problem on plotting

3 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.

Categories

Find more on Labels and Annotations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!