2013-01-23 121 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