Decimal numbers problem on plotting

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?

Antworten (1)

DGM
DGM am 11 Mai 2021
Bearbeitet: DGM am 11 Mai 2021

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Tags

Gefragt:

am 11 Mai 2021

Kommentiert:

DGM
am 11 Mai 2021

Community Treasure Hunt

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

Start Hunting!

Translated by