How do I regulate datetime x-axis when using subplots?
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Cris LaPierre
2022-7-21
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 个评论
Steven Lord
2022-7-21
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
2022-7-21
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Subplots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

