1

Pylabは、データにnanがある場所に改行を挿入します。どうすれば連続線を取得できますか。matlabはこれを自動的に行うと思います。

例:

x = linspace(0,1,10)
y = rand(10,2)
y[5:8,1] = nan
plot(x,y,'.-')

補間したいのですが、欠けている点y[:,1]がないので、補間したくありません。y[:,0]

4

1 に答える 1

2

なしの行を選択nan

from pylab import isnan
boolind = ~isnan(y).any(1)

その後、

plot(x[boolind], y[boolind])

線形補間の値を代わりに使用したい場合はnan、その位置を記録し、nan隣接するポイントを使用して補間を実行しますが、プロットの目的では、nanデータポイントを削除するだけで十分だと思います-コードは線形補間を実行しますとりあえず。

ところで:おそらくあなたy = rand((10, 50))はそうあるべきですがy = rand(10, 50)、なぜあなたが1Dに対して2D配列をプロットしたいかはわかりません。

編集

y特定の質問については、2つの列を別々にプロットするだけです。

from pylab import *
x = linspace(0,1,10)
y = rand(10,2)
y[5:8,1] = nan
boolind = ~isnan(y)
plot(x[boolind[:,0]],y[boolind[:,0], 0],'.-')
plot(x[boolind[:,1]],y[boolind[:,1], 1],'.-')
show()

ここに画像の説明を入力してください

于 2012-05-18T22:57:43.420 に答える