3

これに関して: scipy.interpolate.griddata との類推? 追加の質問があります。出力は次のようになります。ここに画像の説明を入力

ノイズのある(そしてグランド側のない)ピラミッドです。scipy.interpolate.griddata で特定の z 値を入力/選択して、この z 値と等しくないすべてのポイントが削除される可能性はありますか? 私の例では: たとえば、高い z 値を入力します -> 特定の赤値 (= z 値) を持つポイントのみが生き残り、塗りつぶされていないノイズのある赤い三角形が表示されます。目標は、このノイズのある三角形の内側の領域を取得することです。

編集:tldr:私が学んだように、それは私が探しているものとその中の領域です

edit2: この例からhttp://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html "grid_z1.T" がすべての z 値を含む配列を返すことがわかりました. ループでは、特定の z 値と等しくないすべての値を削除できます -> アイソラインを取得しました。問題は、それがアイソラインではなく、いくつかのアイソ値を持つグリッドであることです。それはまったく問題ありませんが、おそらくより良い解決策がありますか?私のニーズに合った grid_z.T 以外の方法はありますか?

4

2 に答える 2

1

これは、データをグリッド形式に変換する前に行うのが最適です。

>>> x = [0,4,17]
>>> y = [-7,25,116]
>>> z = [50,112,47]

>> data = np.column_stack([x, y, z])
array([[  0,  -7,  50],
       [  4,  25, 112], # <<----------------  Keep this
       [ 17, 116,  47]])
>>> data = data[data[:,2] == 112]  # points with z==112
array([[  4,  25, 112]])

次に、griddata またはたとえばここで指定された関数を使用して、プロット用にデータを変換できます。

X, Y, Z = grid(data[0], data[1], data[2])
于 2013-08-28T23:16:21.890 に答える