1

私は衛星データの2D配列と、各ピクセルの緯度と経度を示す2つの対応する2D配列を持っています。グリッドデータを使用してグリッド化されたマスクされた配列をプロットする

データ配列はマスクされた配列です。私はpcolormeshを使用してそれをプロットすると

、それは次のようになります。

m.pcolormesh(lon, lat, data) 

enter image description here

私はグリッドに0.25x0.25度グリッドへのこのデータをしようとしています。

lonGrid = arange(0, 360, 0.25) 
latGrid = arange(-90, 90 0.25) 
dataGridded = griddata(lon.ravel(),lat.ravel(),data.ravel(),latGrid,lonGrid, interp='linear') 
m.pcolormesh(lonGrid, latGrid, dataGridded) 

しかし、結果のプロットは、このように出てくる:このエラーがマスクされた値との間の空間に充填pcolormeshとは何かを持っているように思え enter image description here

。しかし、私はこれを修正する方法が不明です。

おかげ

EDIT:

私はこの仕事を得るためにgriddataのscipyのダウンロードバージョンを使用することができました...が、そのはるかに遅いと構文がより不格好です。私はまだMPLを取得いくつかの助けをいただければ幸い(?)バージョン上記ここ

from scipy.interpolate import griddata as griddata2 

lonGrid,latGrid = meshgrid(lonGrid,latGrid) 
dataGrid = griddata2((lon.ravel(),lat.ravel()),data.ravel(),(lonGrid,latGrid), method = 'linear') 
dataGrid = ma.masked_where((dataGrid < 0) | isnan(dataGrid), dataGrid) 
m.pcolormesh(lonGrid, latGrid, dataGridded) 

enter image description here

答えて

1

を動作するように夫婦の初期トラブルシューティングのアイデアです。

  1. あなたはどのバージョンのNumpyを使用していますか? 1.09以前では、マスクされた配列が与えられた場合、.ravel()はマスクされた配列を返しません。 hereを参照してください。
  2. データ配列 "wind"は "data"になりました。 「データ」は本当にマスクされていますか? 2人の間で何が起こったのですか?いくつかのコードが便利です。

    dataGridded = griddata(lon.ravel(),lat.ravel(),XXXX.ravel(),latGrid,lonGrid, interp='linear') 
    
+0

私は後に1.09よりnumpyのバージョンを使用しています。 Ravel()はマスクされた配列を返します。 windという言葉を使用して申し訳ありませんが、私はそれをデータに変更するつもりでした。私は元の投稿を編集しました。 dataとdataGriddedの両方がマスクされた配列です。 – hm8

関連する問題