我想在一个超过5800行的矩阵中显示一列。
矩阵的第一列包含了该行对应的年、月、日。它跨越了近20年(但没有确切的日期,第一条记录始于2001年1月30日)----。
octave:4> data(1:10,:)
ans =
Columns 1 through 10:
198.000000000 2001.000000000 1.000000000 30.000000000 0.917600000 0.928000000 0.914700000 0.926900000 0.000133000 0.000108000
199.000000000 2001.000000000 1.000000000 31.000000000 0.926800000 0.942600000 0.926600000 0.941300000 0.000160000 0.000133000
200.000000000 2001.000000000 2.000000000 1.000000000 0.941400000 0.944700000 0.936400000 0.937300000 0.000083000 0.000160000
201.000000000 2001.000000000 2.000000000 2.000000000 0.937400000 0.942100000 0.931800000 0.936400000 0.000103000 0.000083000
202.000000000 2001.000000000 2.000000000 4.000000000 0.936600000 0.939700000 0.936600000 0.939400000 0.000033000 0.000103000
203.000000000 2001.000000000 2.000000000 5.000000000 0.939300000 0.943900000 0.936500000 0.937100000 0.000074000 0.000033000
204.000000000 2001.000000000 2.000000000 6.000000000 0.937200000 0.938900000 0.928200000 0.929600000 0.000107000 0.000074000
205.000000000 2001.000000000 2.000000000 7.000000000 0.929500000 0.935200000 0.926100000 0.928800000 0.000091000 0.000107000
206.000000000 2001.000000000 2.000000000 8.000000000 0.928900000 0.929200000 0.915300000 0.918700000 0.000139000 0.000091000
207.000000000 2001.000000000 2.000000000 9.000000000 0.918800000 0.927800000 0.913500000 0.924000000 0.000143000 0.000139000
Columns 11 through 14:
0.013034000 0.010134000 -0.003166000 0.009034000
0.015680000 0.015480000 -0.000520000 0.014180000
0.008134000 0.003134000 -0.005166000 -0.004266000
0.010094000 0.004494000 -0.005806000 -0.001206000
0.003034000 0.003034000 -0.000066000 0.002734000
0.007252000 0.004452000 -0.002948000 -0.002348000
0.010486000 0.001486000 -0.009214000 -0.007814000
0.008918000 0.005518000 -0.003582000 -0.000882000
0.013622000 0.000022000 -0.013878000 -0.010478000
0.014014000 0.008714000 -0.005586000 0.004914000
我定义了一些变量来帮助识别我使用的具体列。
YEAR = 2;
MONTH = 3;
DAY = 4;
CLOSE = 8;
然后我想绘制第8列(close)并在X轴上显示日期。我不知道我有哪些选项可以显示合理数量的日期。
这是我试过的。
figure(2)
xdates = datenum(data(:,YEAR),data(:,MONTH),data(:,DAY))
plot(xdates,data(:,CLOSE))
ax = gca
set (ax, "xtick", xdates);
datetick ("x", 1000, "keepticks");
但这产生了:
我发现这是一个有效的选项。我将答案包括在内,以防对其他人有所帮助。
figure(2)
xdates = datenum(data(:,YEAR),data(:,MONTH),data(:,DAY))
plot(xdates,data(:,CLOSE))
ax = gca
set (ax, "xtick", datenum (2000:1:2020,1,1));
datetick("x", 'yy', "keepticks");