Datetick 在情节中考虑了 NaN

Datetick take into account NaN in plot

我有一个包含值的系列 y,其中一些是 NaN 一些数字(双精度)。

该系列有一个关联向量 d,其中包含 datenum 个日期。

示例:

y=[NaN(5,1); rand(10,1)]
d=now-14:now

当我运行:

plot(d,y)

我得到了我想要的图表; NaN 观测值被取出。

然而,当我 运行:

plot(d,y); datetick

然后我的图表从头开始并考虑所有观察结果(即使 yNaN)。

如何防止这种情况发生?

the documentation 我们可以看出,有一种简单的方法(如下所示)可以保留当前的轴限制。

plot(d,y);
datetick('keeplimits');

'keeplimits' 参数完全符合它的建议,在将刻度值转换为日期的同时保持 x 轴限制。您可能还想传递 'keepticks' 以保留刻度线位置。


您描述的行为似乎与文档相反:

datetick selects a label format based on the minimum and maximum limits of the specified axis.

从这个声明中我希望值保持不变,但显然内部处理限制的方式有些问题,这意味着 NaN 点被包括在内。至少我们得到了一个简单的解决方法!