How do I regulate datetime x-axis when using subplots?

So I'm formatting plots by year into a subplot but I keep on having about 1/4 of the subplot's x-axis be completely wrong. There's only four ticks instead of the twelve I need. The four ticks are also in the completely wrong place, April is in October for example.
Here's the part of my code I'm concerned with:
subplot(4,2,j)
pcolor(datetime(timedata,'ConvertFrom','datenum'),data1,data2)
xstart = datetime(iyr(j),01,1);
xend = datetime(iyr(j),12,31,23,59,59);
xlim([xstart,xend])
xtickformat("MM")
xticklabels(["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])
In this case, xlim seems to be the problem but I need it to regulate other subplots.
Any ideas on why this is happening and how to fix it? Thank you!

2 comentarios

Could you share an image of when things are incorrect?
Diego
Diego el 21 de Jul. de 2022
Editada: Diego el 21 de Jul. de 2022
In the picture, you can slide right and it shows the incorrect format I'm getting.

Iniciar sesión para comentar.

 Respuesta aceptada

Thank you.
Does your timedata correspond to your ticklabels? Why not use xtickformat('MMM') instead of manually specifying the xtick labels?
timedata = datetime(2021,1:12,1);
pcolor(timedata,rand(10,1),rand(10,12))
xstart = datetime(2021,01,1);
xend = datetime(2021,12,31,23,59,59);
xlim([xstart,xend])
xtickformat("MMM")

3 comentarios

Diego
Diego el 21 de Jul. de 2022
Oops I was unaware of this tiny specification, thank you!
Although it's aligned correctly now, is there a reason it still only shows 4 ticks for some of the plots?
What does xticks return for the axes that only has four tick labels shown?
plot(1:10);
xticks(1:3:10)
xticklabels(string(1:10))
whereAreTheTicksLocated = xticks
whereAreTheTicksLocated = 1×4
1 4 7 10
That's correct based on my previous call to xticks.
The number of ticks used are automatically chosen. You can override this by specifying the xtick locations manually using xticks.
xticks(xstart:calmonths(1):xend)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 21 de Jul. de 2022

Comentada:

el 21 de Jul. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by