在绘图中使用XTickLabel

时间:2013-12-18 19:27:59

标签: matlab

我正在实现一个Matlab脚本,我想在其中绘制一个函数,如下所示:

figure;
plot(Flows(:,1),Flows(:,2));
title(strcat('f',num2str(j),'\_2013\_0',num2str(k)));
xlabel('Timestamp');
ylabel('Energy flow');
set(gca, 'XTickLabel', datestr(Flows(:,1)));

Flows是一个矩阵,它将第一列作为Timestamp值的csv文件作为输入。有12个文件,每个月一个。在循环中,我读取文件并创建矩阵。

Flows(i,1)=datenum(Input{i,1}{1,1},'YYYY-mm-DD HH:MM:SS');
Flows(i,2)=Input{i,1}{1,7};

但是,当我绘制趋势时,x轴仅显示从1月1日00:00到1月1日00:36的日期。我怎么能在x轴上显示,至少从“月”的1s到月底?我怀疑这个问题来自于从num到date的数据转换掩码,但是我尝试了几个掩码,哪个是合适的呢?

1 个答案:

答案 0 :(得分:0)

最后,我添加了以下几行:

set(gca,'XLim',[min(Flows(:,1)) max(Flows(:,1))]);
set(gca,'XTick',Flows(:,1));
set(gca, 'XTickLabel', datestr(Flows(:,1)));

但是,当我要策划趋势时,我得到以下例外,

Values must be monotonically increasing