MATLAB绘制除包含值-1的所有行

时间:2014-12-28 07:53:24

标签: matlab plot

如何绘制除了具有值" -1"

的行之外的所有行

我有像

这样的数组
theArray=
1 12
2 15
3 -1
4 154
5 -1
6 0
7 0
8 -1

plot(theArray(:,1),theArray(:,2)

有没有办法在没有3 5 8行的情况下绘制阵列?

2 个答案:

答案 0 :(得分:2)

或者,您可以将任何-1值设置为NaN,以便plot可以跳过绘制点。因此,您可以这样做:

theArray(theArray(:,2) == -1,2) = NaN;
plot(theArray(:,1), theArray(:,2));

这种方法与Andrey的方法之间的区别在于,在设置为y的任何NaN坐标上不会绘制任何线条。如果您需要在这些点之间绘制线条,那么Andrey的方法就是您正在寻找的方法。

答案 1 :(得分:1)

您应首先过滤这些行:

badIndexes = theArray(:,2) == -1;
theArray(badIndexes,:) = [];

然后绘图:

plot(theArray(:,1),theArray(:,2)