matplotlibで、seabornを使わないでヒートマップを書く方法

Python でヒートマップを書きたいなぁと調べていたら、seabornを使わないで書く方法もあるるということを知ったのでメモ的に書き残します。

参考にしたサイトは下記です。 spcx8.hatenablog.com

具体的には下記のように、imshowを使います

import numpy as np
import matplotlib.pyplot as plt

# 10x10のダミーデータ作成
mat = np.random.rand(10,10)

# ヒートマップ表示
plt.figure()
plt.imshow(mat,interpolation='nearest',vmin=0,vmax=1,cmap='jet')
plt.colorbar()
plt.show()

注意点としては、 * 引数の interpolation='nearest' は設定しないと、データ間を補間して表示してしまうい、データ間の境界がはっきりしなくなる。 * imshow は画像表示用のため、原点が左上にとられてしまう。これを避けるには、引数に origin='lower' を加えてやる必要がある。

まとめると、以下のようにimshowの引数を書くと私好みな簡単ヒートマップが書けそうです

plt.imshow(ary, interpolation='nearest', vmin=0, vmax=1, cmap='viridis', origin='lower')