前提・実現したいこと
h x y
16.780 329.399 42.232
16.806 329.023 42.052
13.317 329.270 42.124
14.469 328.675 41.868
15.511 329.196 41.957
16.706 329.374 42.217
16.051 329.501 42.265
横軸・縦軸ともに最小値を切り捨てしたものから最大値を切り上げした横軸2、縦軸2を0.1刻みで配列として作成しました。その軸の中で、ある横軸2の隣り合う2数の間に横軸の値が入り、かつ、縦軸2でも同様に値が入ったときのみ高さの値を取得し、その選ばれた高さを合計して高さ2としてヒートマップのような図を作成したいです。
該当のソースコード
python
1n = 0.1 #刻み 2H = [] 3x2 = np.arange(math.floor(np.min(x)), math.ceil(np.max(x)) + n/2, n) #最終的な横軸 4y2 = np.arange(math.floor(np.min(y)), math.ceil(np.max(y)) + n/2, n) #最終的な縦軸 5for i in range(len(x2)-1): 6 for j in range(len(y2)-1): 7 h2 = [h[k] for k in range(len(x)) if x2[i] <= x[k] < x2[i+1] and y2[j] <= y[k] < y[j+1]] 8 H.append(sum(h2)) #最終的な高さ
横軸2と縦軸2と高さ2はこれでできていると思っています。
完成のイメージは3Dプロットに色付けしたものを上から見る感じです。
できれば、高さ0のときは真っ黒で、0出ないときは高さが小さくなるほど白になるようにしたいです。
補足情報(FW/ツールのバージョンなど)
Python 2.7.15 |Anaconda|
回答1件
あなたの回答
tips
プレビュー