How do I regulate datetime x-axis when using subplots?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Diego
am 21 Jul. 2022
Kommentiert: Cris LaPierre
am 21 Jul. 2022
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 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 21 Jul. 2022
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 Kommentare
Steven Lord
am 21 Jul. 2022
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
That's correct based on my previous call to xticks.
Cris LaPierre
am 21 Jul. 2022
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)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Subplots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

