如何在Matlab图的x轴上获得精确的时间标签?

时间:2017-02-01 22:38:43

标签: matlab date datetime

我想在x轴上获得准确的时间。我不确定为什么Matlab会花费中间时间:

plot(t(:,2),t(:,1));
datetick('x','dd-mmm hh:MM','keepticks')
set(gca,'XTickLabelRotation',60);

This is what I get

但根据数据,x轴应为5分钟的倍数。例如:

datestr(t(1:5,2), 'yyyymmdd.hhMMss')

ans =

20040916.185000
20040916.185500
20040916.190000
20040916.190500
20040916.191000

原始数据集,其中Col 1是y轴,Col 2是datenum

0   732206.784722222
0   732206.788194445
0   732206.791666667
0   732206.795138889
2.50000009934108e-05    732206.798611111
0.000116666667163372    732206.802083333
0.00110000002632538 732206.805555556
0   732206.809027778
0.000383333342770736    732206.812500000
0.000199999998013179    732206.815972222
0.000566666665176551    732206.819444445
0.00144166665772597 732206.822916667
0.00450000004221996 732206.826388889
0.00399166673670213 732206.829861111
0.00164166670292616 732206.833333333
0.00181666669249535 732206.836805556
0.00170000002284845 732206.840277778
0   732206.843750000
0.000525000018378099    732206.847222222
0.00137500000745058 732206.850694445
0.00121666670093934 732206.854166667
0.000500000019868215    732206.857638889
5.83333323399226e-05    732206.861111111
0   732206.864583333
0   732206.868055556
0   732206.871527778
0   732206.875000000
0   732206.878472222
0   732206.881944445
0   732206.885416667
0   732206.888888889
0   732206.892361111
0   732206.895833333
0   732206.899305556
0   732206.902777778
0   732206.906250000
0   732206.909722222
0   732206.913194445
0   732206.916666667
0   732206.920138889
0   732206.923611111
0.000416666674117247    732206.927083333
0.00212500003476938 732206.930555556
0.00308333337306976 732206.934027778
0.00501666667312384 732206.937500000
0.00619999998311202 732206.940972222
0.00663333335022132 732206.944444445
0.00845833330849806 732206.947916667
0.00887500002731880 732206.951388889
0.0112750000804663  732206.954861111
0.0158166667843858  732206.958333333
0.0192500000571211  732206.961805556
0.0203916667004426  732206.965277778
0.0113416666562359  732206.968750000
0.0270250000754992  732206.972222222
0.0274499999706944  732206.975694445
0.0287749999463558  732206.979166667
0.0110583333745599  732206.982638889
0.0114916666299105  732206.986111111
0.00115833335618178 732206.989583333
0   732206.993055556
0   732206.996527778
0   732207
0   732207.003472222
0   732207.006944445
0   732207.010416667
0   732207.013888889
0   732207.017361111
0   732207.020833333
0   732207.024305556
0   732207.027777778
0   732207.031250000
0   732207.034722222
0   732207.038194445
0   732207.041666667
0   732207.045138889
0   732207.048611111
0   732207.052083333
0   732207.055555556
0   732207.059027778
0   732207.062500000
0   732207.065972222
0   732207.069444445
0   732207.072916667
0   732207.076388889
0   732207.079861111
0   732207.083333333
0   732207.086805556
0   732207.090277778
0   732207.093750000
0   732207.097222222
0   732207.100694445
0   732207.104166667
0   732207.107638889
0   732207.111111111
0   732207.114583333
0   732207.118055556
0   732207.121527778
0   732207.125000000
0   732207.128472222
0   732207.131944445
0   732207.135416667
0   732207.138888889
0   732207.142361111
0   732207.145833333
0   732207.149305556
0   732207.152777778
0   732207.156250000
0   732207.159722222
0   732207.163194445
0   732207.166666667
0   732207.170138889
0   732207.173611111
0   732207.177083333
0   732207.180555556
0   732207.184027778
0   732207.187500000
0   732207.190972222
0   732207.194444445
0   732207.197916667
0   732207.201388889
0   732207.204861111
0   732207.208333333
0   732207.211805556
0   732207.215277778
0   732207.218750000
0   732207.222222222
0   732207.225694445
0   732207.229166667
0   732207.232638889
0   732207.236111111
0   732207.239583333
0   732207.243055556
0   732207.246527778
0   732207.250000000
0   732207.253472222
0   732207.256944445
0   732207.260416667
0   732207.263888889
0   732207.267361111
0   732207.270833333
0   732207.274305556
0   732207.277777778
0   732207.281250000
0   732207.284722222
0   732207.288194445
0   732207.291666667
0   732207.295138889
0   732207.298611111
0   732207.302083333
0   732207.305555556
0   732207.309027778
0   732207.312500000
0   732207.315972222
0   732207.319444445
0   732207.322916667
0   732207.326388889
0   732207.329861111
0   732207.333333333

1 个答案:

答案 0 :(得分:1)

如果您首先准确指定您想要的刻度

set(gca, 'XTick', t(1:10:end,2))

然后将显示调整为日期刻度(重要的是保持'keepticks'

datetick('x','dd-mmm hh:MM','keepticks')
set(gca,'XTickLabelRotation',60);

会根据您的原始数据为您提供x标签。

对于您的示例,如果您使用

plot(t(:,2),t(:,1));
set(gca, 'XTick', t(3:12:end,2))
datetick('x','dd-mmm hh:MM','keepticks')
set(gca,'XTickLabelRotation',60);

将显示完整的小时数。