我正在尝试找到一个解决方案来绘制数据系列与日期时间变量集 .
日期时间变量集的初始格式是"01/01/2015 01:10:00",因此我将它们转换为更好的格式以使用 datenum
,如下所示:
% Original Date Time Variable - Data.datetime.str(j,1:19)
Auxiliar.formatIn = 'dd/mm/yyyy HH:MM:SS';
for j = 1:length(Data.time)
Data.datetime.num(j,1) = datenum(Data.datetime.str(j,1:19), Auxiliar.formatIn);
end
之后,可以使用以下方法绘制所有内容:
% Original Data Series - Data.anem1.max
plot(Data.datetime.num, Data.anem1.max)
labels = datestr(Data.datetime.num, 6);
set(gca, 'XTick', Data.datetime.num);
set(gca, 'XTickLabel', labels);
但结果就是这里显示的结果:
.
x轴上的高密度标签对我没有好处,因为它不可能看到任何东西,例如,数据系列的某些点共享同一天 .
我应该如何才能在同一天展示一次,将情节限制在一定数量的标签上?
1 回答
您可以使用MATLAB datenums以天为单位的事实来生成标签:
days
将是一个整数数组,表示从数据开始之前的午夜到结束之后的午夜 . 如果你想要中午而不是午夜,你可以做days = days + 0.5
. 您可能还希望在输出格式方面将datestr(days(i), Auxiliar.formatIn)
替换为适合您的内容 .