非等距时间点上的等距日期轴

时间:2013-07-01 11:00:34

标签: matlab

所以我的x轴是基于不均匀间隔的时间刻度,有些点在彼此的2-4秒内发生,而其他点可能需要一个小时。

当使用日期技巧时,似乎点被移动使得在短间隔内发生的点被压缩而其他点被间隔开。反正是否允许x轴均匀分布空间并且仍能在时间上正确标记?我不想要的是Matlab以不同的方式间隔我的数据点。

1 个答案:

答案 0 :(得分:3)

您不能要求datetick重新排列x - 轴上的数据点。你必须在此之前均匀地绘制它。而不是使用时间戳,使用他们的索引,然后要求datestr标记它们。请参阅下面的示例

timeStamps = {'00:00:01' '00:00:04' '01:05:09' '02:06:53' '05:08:09'};
xData = datenum(timeStamps);

yData = (1:numel(xData)).^2;

subplot(211)
plot(xData, yData)
set(gca, 'XTick', xData)
datetick('x', 'HH:MM:SS', 'keepticks')

subplot(212)
plot(1:numel(xData), yData)
set(gca, 'XTick', 1:numel(xData))
set(gca, 'XTickLabel', datestr(xData, 'HH:MM:SS'));

结果

enter image description here