0

「m」は、https://www.dropbox.com/s/vua4nakd8sz3ocy/data.py?dl=0で定義されている GPS 座標配列です。

matplotlib 関数を使用できます

hist2d(zip(*m)[0],zip(*m)[1], bins=60, cmap='jet', normed=True)

正しい密度ヒートマップを生成します。

ただし、この方法を使用する場合:

x,y = zip(*m)[:2]
heatmap, xedges, yedges = np.histogram2d(x,y,bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
clf()
scatter(x,y,c='k')
imshow(heatmap, extent=extent, cmap='jet')

明らかに間違ったヒートマップを生成します。なぜこれが起こるのですか?

間違った.img

黒い点は GPS ポイントです。

4

1 に答える 1

0

私はそれを考え出した!numpy の histogram2d は、numpy の histogramdd と一致させるために、横座標と縦座標を使用します。したがって、正しいものは次のようになります。

x,y = zip(*m)[:2]
heatmap, xedges, yedges = np.histogram2d(y,x,bins=40) 
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
scatter(x,y,c='k')
imshow(heatmap[::-1], extent=extent,cmap='jet',interpolation='nearest')

とにかく、これはお勧めできません。

于 2016-06-16T12:13:23.797 に答える