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
然后我的图表从头开始并考虑所有观察结果(即使 y
是 NaN
)。
如何防止这种情况发生?
从 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
点被包括在内。至少我们得到了一个简单的解决方法!
我有一个包含值的系列 y
,其中一些是 NaN
一些数字(双精度)。
该系列有一个关联向量 d
,其中包含 datenum
个日期。
示例:
y=[NaN(5,1); rand(10,1)]
d=now-14:now
当我运行:
plot(d,y)
我得到了我想要的图表; NaN 观测值被取出。
然而,当我 运行:
plot(d,y); datetick
然后我的图表从头开始并考虑所有观察结果(即使 y
是 NaN
)。
如何防止这种情况发生?
从 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
点被包括在内。至少我们得到了一个简单的解决方法!