ヒートマップしたい(matplotlib.axes.Axes.imshow)
1import numpy as np
2import matplotlib.pyplot as plt
3
4# データを準備する
5x = np.linspace(0, 10, 100) # 0から10までの100点を生成
6y = np.linspace(0, 10, 100) # 0から10までの100点を生成
7X, Y = np.meshgrid(x, y) # グリッドを作成
8Z = np.sin(X) * np.cos(Y) # ZはXとYの関数(例:sin(X)*cos(Y))
9data = Z # 2次元配列
10
11# Figureエリアを作成
12fig, ax = plt.subplots()
13
14# ヒートマップ
15hm = ax.imshow(
16 data, # 2次元配列
17 cmap="viridis",
18 vmin=0,
19 vmax=1,
20)
21
22# カラーバーを追加
23fig.colorbar(hm, ax=ax)
24plt.show()
imshowメソッドでヒートマップを作成できます。
2次元配列を渡すと、値の大きさに応じて色が変わるヒートマップが描画されます。
オプションでカラーマップを変更できます。
注釈
imshowはもともと画像を表示するためのメソッドですが、数値データを色で表現するヒートマップとしてもよく使われます。