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

Matlab:金融时间序列图xTickLable bug?,matlab,plot,time-series,matlab-figure,Matlab,Plot,Time Series,Matlab Figure,我想这可能是个bug。我正在使用Matlab2015A。创建fints(金融时间序列)对象后,当我尝试绘制它时,当我放大时,xTickLabel不会更新。如果我将xTickMode设置为Auto,那么它会把自己搞砸 是我干的。您可以简单地执行相同的操作,然后看看会发生什么: % Create financial time series: url_1 = fred('https://research.stlouisfed.org/fred2/'); FredData = fetch(url_1,

我想这可能是个bug。我正在使用Matlab2015A。创建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来解决。时间本身会变得混乱,因此当您查看图表时,您不再知道数据是在什么时候注册的。你可以自己试试,然后你就会明白我的意思了

我的问题是,如何解决这个问题或绕过这个问题


谢谢

您可以通过使用中的
绘图
及其常用语法来解决此问题,然后设置x-tick-label格式:

plot(datetime(datestr(dates)),Data)
xtickformat('dd-MMM-yyyy');
legend('PERMIT')
grid on

您可以通过使用中的
绘图及其常用语法来解决此问题,然后设置x-tick-label格式:

plot(datetime(datestr(dates)),Data)
xtickformat('dd-MMM-yyyy');
legend('PERMIT')
grid on

该问题在2017a中也存在。该问题在2017a中也存在。