0

2 つの 1D 配列があります。1 つは温度を含み、もう 1 つは半径距離です (それぞれの温度について)。この情報を使用して、ヒート マップ タイプのプロットを作成したいと考えています。ここで問題が発生します。 1. 2D numpy グリッドを作成する場合、半径距離を各グリッドに関連付けるにはどうすればよいですか? 半径の距離が 5 単位であるとします。中心から 5 単位のすべてのグリッド スクエアを見つけるにはどうすればよいですか? 2.次に、各温度とそれぞれのグリッドポイントのセットを関連付ける方法。半径距離 5 で温帯が 20 度だとすると、次の一連の x、y グリッド スクエアで 20 度であるため、これをどのように表現すればよいでしょうか?

ご協力ありがとうございます。

4

1 に答える 1

0

meshgridあなたの友達はここにいます。最初に、グリッド プラスxy座標グリッドを設定します (2 つの 5 x 5 配列があります)。

import numpy as np
x, y = np.meshgrid(np.arange(-2, 3), np.arange(-2, 3))
heatmap = 0 * x  # easy way to get shape right

次に、いくつかのデータを偽造します。

r = np.array((0, 0.5, 1.5, 2.5))  # Your radial distance
T = np.array((100, 90, 70, 40))   # Your temperature at distance

中央から開始して、内側から外側にデータをオーバーレイします (r単調に増加すると仮定します)。

r2 = r**2
xy2 = x**2 + y**2
for ii in range(r.size):
   heatmap[np.where(xy2 >= r2[ii])] = T[ii]

それでおしまい。結果のヒートマップは次のとおりです。

array([[ 40,  70,  70,  70,  40],
       [ 70,  90,  90,  90,  70],
       [ 70,  90, 100,  90,  70],
       [ 70,  90,  90,  90,  70],
       [ 40,  70,  70,  70,  40]])
于 2015-04-22T00:22:16.787 に答える