Matlab:金融时间序列图xTickLable bug?

时间:2017-07-23 18:13:21

标签: matlab plot time-series matlab-figure

我认为这可能是一个错误。我正在使用Matlab 2015a。在我创建了fints(金融时间序列)对象后,当我尝试绘制它时,xTickLabel在放大时不会更新。如果我将xTickMode设置为Auto,那么它会搞砸本身。

我这样做了。你可以简单地做同样的事情,看看会发生什么:

% Create financial time series:
url_1 = fred('https://research.stlouisfed.org/fred2/');
FredData = fetch(url_1, 'PERMIT');
dates = FredData.Data(:,1);
Data = FredData.Data(:,2);    
fts = fints(dates, Data , 'PERMIT');
close(url_1);

%% Plot
F1 = figure;
h1 = plot (fts.PERMIT);

如果您放大,那么yTickLabel将更新但不会更新xTickLabel。 如果您输入get(gca, 'yTickMode'),则会获得auto。如果您输入get(gca, 'xTickMode'),则会获得manual

现在问题来了。如果您尝试修复缺少xTickLable的自动更新问题,您将自然地键入set(gca, 'xTickMode', 'auto')。之后,你得到的是混乱的xTickLable。 这不是一个难以阅读的问题,可以通过旋转xTickLabel来解决。时间本身会搞砸,以便您在查看图表时不再知道数据在何时注册。你可以自己尝试一下,然后你会看到我的意思。

我的问题是,如何解决此问题或绕过此问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用{{1}} in及其通用语法解决此问题,然后设置x-tick-label格式:

{{1}}

enter image description here