Datetick考虑了NaN的情节

时间:2017-09-07 12:21:16

标签: matlab matlab-figure

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

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

示例:

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

当我跑步时:

plot(d,y)

我得到了我想要的图表;取出NaN观察结果。

然而,当我跑步时:

plot(d,y); datetick

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

如何防止这种情况发生?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

  

datetick根据指定轴的最小和最大限制选择标签格式。

从这个陈述中我会期望值保持不变,但显然有一些关于内部处理限制的方式,这意味着包括NaN点。至少我们有一个简单的工作!