所以我的x轴是基于不均匀分布的时间刻度,一些点在2-4秒内发生,而另一些点可能需要一个小时。
当使用datetick时,似乎这些点被移位了,使得在短时间间隔内发生的点被压缩,而其他点则被隔开。有没有什么办法可以让x轴均匀分布,并且仍然可以随着时间的推移被正确标记?我不希望Matlab以不同的方式间隔我的数据点。
发布于 2013-07-01 20:15:23
您不能要求datetick重新排列x-axis上的数据点。在此之前,你必须均匀地绘制它。不使用时间戳,而是使用它们的索引,然后让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'));结果呢?

https://stackoverflow.com/questions/17402873
复制相似问题