仅在午夜在x轴上显示日期

时间:2017-04-10 15:17:51

标签: matlab matlab-figure

我有一个持续数天的数据集,在x轴上只显示小时和分钟的时间:

tickloc = [datenum('27-Aug-2016 18:00:00'):2/24:datenum('31-Aug-2016 13:00:00')];
set(gca,'xtick',tickloc,'xlim',[datenum('27-Aug-2016 18:00:00') datenum('31-Aug-2016 13:00:00')])   
ax = gca; ax.XTickLabelRotation = 0;  
datetick('x','HH:MM','keepticks')

是否有适当的解决方案在x轴上显示特定日期的日期?优选地,在第二天开始时的午夜仅一次,使得数据在哪一天变得明显。 在此先感谢!!

1 个答案:

答案 0 :(得分:1)

您可以只选择tickloc所在的hour 0,并将其作为您的代码位置。

set(ax, 'XTick', tickloc(hour(tickloc) == 0), 'XLim', tickloc([1 end]))

此外,您可以为datetick使用自定义日期字符串,因此只需指定日期

即可
datetick('x', 'mm/dd/yyyy', 'keepticks')

然后,您可以使用x轴的Ruler

设置次要刻度
ax.XRuler.MinorTickValues = tickloc;
ax.XRuler.MinorTick = 'on';

enter image description here