1. ホーム
  2. パイソン

[解決済み] 散布図データセットを使って MatPlotLib でヒートマップを作成します.

2022-04-17 15:21:24

質問

X,Yのデータ点数(約10k点)があり、散布図にするのは簡単ですが、ヒートマップとして表現したいのです。

MatPlotLib のサンプルに目を通しましたが、それらはすべて、画像を生成するためにヒートマップセルの値からすでに始まっているようです。

すべて異なるx,yの束をヒートマップ(x,yの頻度が高いゾーンは"warmer"となる)に変換する方法はありますか?

どのように解決するのですか?

六角形が必要ない場合は、numpyの histogram2d 関数を使用します。

import numpy as np
import numpy.random
import matplotlib.pyplot as plt

# Generate some test data
x = np.random.randn(8873)
y = np.random.randn(8873)

heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]

plt.clf()
plt.imshow(heatmap.T, extent=extent, origin='lower')
plt.show()

これは50x50のヒートマップを作るものです。もし、512x384のヒートマップが欲しければ、このように bins=(512, 384) への呼び出しで histogram2d .