2013-01-23 42 views
1

我很惊讶与这个问题有关的帖子很少。无论如何... 它在这里: 我有csv数据文件,其中包含X值的第一列,以及其后的几个Y值列。但是对于给定的X值,并不是所有的Y系列都有相应的值。下面是一个例子:matplotlib用nans绘制数据

0, 16, 96, 99 
10, 88, 45, 85 
20, 85, 61, 10 
30, 30, --, 45 
40, 82, 28, 82 
50, 23, 9, 61 
60, 40, 77, 0 
70, 26, 21, -- 
80, --, 58, 99 
90, 1, 14, 30 

当该CSV数据加载numpy.genfromtxt中, - 串被视为楠这是很好的“”。但是在绘图时,这些地块被中间有空白的空白中断。有没有一个选项时,nan似乎使pyplot.plot()忽略nan和相应的X值?

回答

3

不知道matplotlib有这样的功能内置的,但你可以在家酿造它执行以下操作:

idx = ~numpy.isnan(Y) 
pyplot.plot(X[idx], Y[idx]) 
+0

看起来不错。谢谢 – user1850133

2

this post

正如我的回答有建议,我建议使用np.isfinite而不是np.isnan。可能还有其他原因让你的地块有不连续处,e.f.,inf

+0

好的,从我在链接到这里的帖子中看到的,这个可以标记为与那个重复。无论如何,感谢您的解决方案。 – user1850133