octave - 如何在 matlab/octave 图中指定 x 轴的范围?
问题描述
我有以下数据集:
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;
然后我想绘制整个系列,所以我这样做:
figure(3)
xdates = datenum(data(:,YEAR),data(:,MONTH),data(:,DAY))
subplot(2,1,1); plot(xdates, data(:,CLOSE))
set(gca, "xtick", datenum (2000:2:2020,1,1));
set(gca,'xticklabel',{[]})
title("EURUSD 2000-2019");
subplot(2,1,2); plot(xdates, data(:,ATR))
set(gca, 'xtick', datenum (2000:2:2020,1,1));
datetick("x", 'yy/mm', "keepticks");
然后我得到:
到目前为止一切顺利(xlabels 无法读取,但没关系,我可以使用“YY”格式化并且可以读取它们)。现在我想显示 2019,1,1 和 2020,1,1 之间的图表。我努力了:
figure(3)
xdates = datenum(data(:,YEAR),data(:,MONTH),data(:,DAY))
subplot(2,1,1); plot(xdates, data(:,CLOSE))
set(gca, "xtick", datenum (2000:2:2020,1,1));
set(gca,'xticklabel',{[]})
xlim(datenum (2019:1:2020,1,1));
title("EURUSD 2000-2019");
subplot(2,1,2); plot(xdates, data(:,ATR))
set(gca, 'xtick', datenum (2000:2:2020,1,1));
xlim(datenum (2019:1:2020,1,1));
datetick("x", 'yy/mm', "keepticks");
但我得到:
应该怎么做才能使绘图显示 2019,1,1 和 2020,1,1 之间的值?
解决方案
推荐阅读
- python - 将 pandas df 作为值粘贴到样式化的 excel 表中(保持格式 - 欣喜若狂)
- python - 我收到关键错误:命令 df.groupby(["District"]).sum()[['TSP','TSPExp']].sort_values(['TSPExp'], ascending=[假]).head(3)
- excel - 刷新与 SQL Server 连接的数据源时在 Excel 中格式化更改
- google-cloud-platform - 从 pubsub/stackdriver 消息中提取字段
- apache-spark - 选择数据时 Hive 是否保留文件顺序
- html - 将 CSS 定位到特定 eDirectory 页面
- reactjs - 从 material-ui v3 迁移到 v4 时如何解决 createGenerateClassName() 和 jssPreset() 的问题?
- javascript - 页面加载后更新在 PHP 中完成的 Web 服务调用的最佳方法
- powershell - 使用异步标志的 powershell BitsTransfers 问题
- json - 如果结构没有值,则正确的 json 格式?