0

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

使用 datetick 时,似乎这些点被移动了,使得在短时间内发生的点被压缩,而其他点被隔开。无论如何,是否允许 x 轴是均匀的空间,并且仍然可以通过时间正确标记?我不希望 Matlab 以不同的方式间隔我的数据点。

4

1 回答 1

3

您不能要求datetick重新排列 -axis 上的数据点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'));

结果

在此处输入图像描述

于 2013-07-01T12:15:22.710 回答