【发布时间】:2013-12-18 19:27:59
【问题描述】:
我正在实现一个 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 是一个矩阵,它以 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 的日期。至少从“月份”的 1 秒到月底,我如何在 x 轴上显示?我怀疑问题出在从num到date的数据翻译的掩码上,但是我尝试了几种掩码,哪个适合?
【问题讨论】:
-
我怀疑您还必须调整“xticks”(以您要标记的分辨率显示 xticks)。请参阅此处的示例mathworks.com/matlabcentral/answers/92565;你能提供你的数据吗?
-
@Cici 没错。
XTicks 与XTickLabels 不匹配也是常见的陷阱when creatingbarplots,因为当您超过一定数量的点时,MATLAB 不会自动创建刻度。 -
@Jose Hdez,你用的是什么版本的 Matlab?
标签: matlab