在MATLAB绘图中忽略NaN?

在MATLAB绘图中忽略NaN?,matlab,plot,Matlab,Plot,如果我有 A = [1 2 3 nan 5]; 如果我这样做 plot(1:5, A, 'o-'); 我将有蓝色的部分如下 如何实现红色部分 更新 很抱歉,我没有在第一个镜头中直截了当地指出这一点,但是不需要帮助跳过这些值的isnan()方法,因为我需要绘制其中许多行,其中一些行在一些随机位置缺少值(NaN)。所以我必须保持每条线的x轴一致。这就是为什么我不能简单地跳过NaN不是超级优雅,而是功能性: idxs = ~isnan(A); x = 1:5; plot(x(idxs), A(i

如果我有

A = [1 2 3 nan 5];
如果我这样做

plot(1:5, A, 'o-');
我将有蓝色的部分如下

如何实现红色部分

更新
很抱歉,我没有在第一个镜头中直截了当地指出这一点,但是不需要帮助跳过这些值的
isnan()
方法,因为我需要绘制其中许多行,其中一些行在一些随机位置缺少值(
NaN
)。所以我必须保持每条线的x轴一致。这就是为什么我不能简单地跳过
NaN

不是超级优雅,而是功能性:

idxs = ~isnan(A);
x = 1:5;
plot(x(idxs), A(idxs));

请查看问题中的更新。谢谢这应该同样适用于多行(如有必要,请使用
按住
)。如果它不起作用,请给你的问题添加一个具体的例子。哦,是的,对不起,我错了。这也行!谢谢
x = linspace(1,10,10);
y = [1 2 3 nan 5 6 7 nan 9 10];
figure, plot(x,interp1(x,y,x,'spline'))