ホームページ  >  記事  >  バックエンド開発  >  Matplotlib を使用して散布データをヒートマップに変換するにはどうすればよいですか?

Matplotlib を使用して散布データをヒートマップに変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 18:10:03697ブラウズ

How to Transform Scatter Data into a Heatmap with Matplotlib?

Matplotlib を使用したヒートマップとしての散布データの視覚化

散布図をヒートマップに変換すると、データ分布をより直感的に表現できます。 Matplotlib は、この変換を実現するためのいくつかの方法を提供します。

ヒートマップ セルに六角形を使用する

1 つのアプローチは、hexbin 関数を利用して六角形のビンを作成することです。各ビンは特定の数のデータ ポイントを表し、色の強度はそのビン内のポイントの密度を反映します。

import matplotlib.pyplot as plt
import numpy as np

# Generate some sample data
x = np.random.randn(10000)
y = np.random.randn(10000)

# Create a heatmap using hexagons
plt.hexbin(x, y, gridsize=50, cmap='jet')
plt.colorbar()
plt.show()

Numpy の histogram2d を使用したヒートマップの作成

An別の方法は、Numpy の histogram2d 関数を使用することです。この関数は、各ビンがデータ空間内の特定の領域に対応する 2D ヒストグラムを生成します。ヒストグラムの値は、各ビン内のデータ ポイントの数を表します。

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

# Generate some sample 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.colorbar()
plt.show()

ビンの数を調整することで、ヒートマップの解像度を制御できます。ビンが小さいほど粒度の細かい表現が得られ、ビンが大きいほどデータ分布のより一般的な概要が得られます。

以上がMatplotlib を使用して散布データをヒートマップに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。