実現したいこと
緯度・経度・測定値の入ったデータのグリッドマップを作成したいのですが、同じグリッド内に複数のデータが存在しており、それらの平均値を表示したいです。
前提
緯度・経度に従ってx,y座標は0~10のレンジで自分で設定しており、meshgrid関数を用いてグリッド化しました(グリッド数は10×10)。
plt.contourf(x座標, y座標, 測定値)で図示していますが、滑しすぎているため、同じグリッド内の測定値を平均化したいです。
(2,5,z1),(2,5,z2),(4,8,z3),(2,5,z4),(6,1,z4)...のようなデータセットです。
該当のソースコード
python
1import numpy as np 2import matplotlib.pyplot as plt 3from scipy.interpolate import griddata 4x = np.array(x_grid) 5y = np.array(y_grid) 6z = np.array(data['measurement']) 7xmin = x.min() 8xmax = x.max() 9ymin = y.min() 10ymax = y.max() 11msize = 1 12ax = np.arange(xmin,xmax,msize) 13ay = np.arange(ymin,ymax,msize) 14xx, yy = np.meshgrid(ax, ay) 15nz = griddata((x, y), z, (xx, yy)) 16cont=plt.contourf(xx, yy, nz, cmap="jet") 17plt.show()
試したこと
10×10のグリッドをナンバリングし、同じ番号に該当するデータを抜き出して平均しようと思いましたが、どのように同じ番号にしたらよいかわかりませんでした。その他の方法が思いつかないため、ご質問させていただきます。
回答1件
あなたの回答
tips
プレビュー